mirror of
https://github.com/JG2401/CsharpVersionHistory.git
synced 2026-08-28 20:20:10 +00:00
1.4 KiB
1.4 KiB
C# Version 12.0
Veröffentlicht im November 2023.
Neue Features
Primäre Konstruktoren
Erstellen Sie Konstruktoren direkt in der Klassen- oder Strukturdefinition.
public class Person(string name, int alter)
{
public string Name { get; } = name;
public int Alter { get; } = alter;
}
Sammlungsausdrücke
Neue Syntax für die Erstellung und Erweiterung von Sammlungen.
int[] zahlen = [1, 2, 3];
int[] mehrZahlen = [..zahlen, 4, 5];
Inlinearrays
Arrays mit fester Größe direkt in einem struct.
public struct Buffer
{
private inline int[8] data;
}
Optionale Parameter in Lambdaausdrücken
Lambda-Parameter können Standardwerte haben.
Func<int, int, int> addiere = (a, b = 1) => a + b;
ref readonly-Parameter
Mehr Klarheit für APIs mit ref- oder in-Parametern.
void Print(ref readonly int x)
{
Console.WriteLine(x);
}
Alias eines beliebigen Typs
using kann für jeden Typ als Alias verwendet werden.
using Ganzzahl = System.Int32;
Ganzzahl x = 5;
Experimentattribute
Kennzeichnen Sie experimentelle Features.
[Experimental]
void NeueFunktion() { }
Interceptors (Preview)
Erlauben das Abfangen und Modifizieren von Methodenaufrufen (nur als Preview verfügbar).
C# 12.0 bringt neue Syntax und Features für produktiveren und konsistenteren Code.