C# 14 – Demo

Diese Seite zeigt dir vier neue Features aus C# 14 im direkten Vergleich: Vorher → Nachher. Du siehst jeweils alten C#-Code und wie derselbe Code mit C# 14 kürzer und moderner wird.

1. Primary Constructors

Endlich auch für Klassen – nicht nur für Records.

Vorher (älterer C#-Code):


public class Technology
{
    public string Name { get; }
    public int Year { get; }

    public Technology(string name, int year)
    {
        Name = name;
        Year = year;
    }

    public string Info() => $"{Name} erschien {Year}.";
}

var t = new Technology("ASP.NET Core", 2016);
var output = t.Info();
    

Nachher (C# 14):


public class Technology(string name, int year)
{
    public string Name { get; } = name;
    public int Year { get; } = year;

    public string Info() => $"{Name} erschien {Year}.";
}

var t = new Technology("ASP.NET Core", 2016);
var output = t.Info();
    
Ausgabe:
ASP.NET Core erschien 2016.
2. Collection Expressions

Listen & Arrays ohne new List<T>().

Vorher:


var libs = new List<string> {
    "Entity Framework",
    "ASP.NET Core",
    "MAUI"
};

var result = libs.Where(x => x.Contains("Core")).ToList();
    

Nachher:


var libs = [
    "Entity Framework",
    "ASP.NET Core",
    "MAUI"
];

var result = libs.Where(x => x.Contains("Core")).ToList();
    
Ausgabe:
["ASP.NET Core"]
3. Params Spread Operator

Arrays in Methodenaufrufen sauber „entpacken“.

Vorher:


void Log(params string[] messages)
{
    foreach (var m in messages)
        Console.WriteLine(m);
}

var arr = new[] { "A", "B", "C" };

// Vor C#14:
Log(arr); // OK
Log("X", "Y"); // OK
// Aber arr kann nicht mit weiteren Parametern gemischt werden
    

Nachher:


void Log(params string[] messages)
{
    foreach (var m in messages)
        Console.WriteLine(m);
}

var arr = ["A", "B", "C"];

// C#14 erlaubt Params-Spreads:
Log(..arr, "X", "Y");
    
Ausgabe:
A
B
C
X
Y
4. Using Aliases für Namespaces & Typen

Mehr Ordnung → kürzere Codezeilen.

Vorher:


using System.Text.Json;
using System.Text.Json.Serialization;

var json = JsonSerializer.Serialize(new { Name = "Said" });
    

Nachher:


using Json = System.Text.Json.JsonSerializer;
using Writer = System.Text.Json.Serialization.JsonConverter;

var json = Json.Serialize(new { Name = "Said" });
    
Ausgabe:
{"Name":"Said"}

Kontakt

Ich freue mich über Ihre Nachricht oder eine Kontaktaufnahme über eines der folgenden Netzwerke: