Neue Features in C# 13: Ein Überblick
Mittwoch, 10. Juli 2024
C# 13 nimmt langsam Gestalt an und bringt spannende neue Features, die Flexibilität und Performance in den Vordergrund stellen. Mit der aktuellen Preview hast du die Gelegenheit, die aktuellen Neuerungen auszuprobieren. Auf die folgenden Features kannst du dich freuen.
Verbesserungen bei params Collections für mehr Flexibilität
Bei C# 13 wird params erweitert, sodass es mit jedem Typ funktioniert, der über eine Collection Expression erstellt werden kann. Das bedeutet mehr Flexibilität beim Schreiben und Aufrufen von Methoden. Du kannst Methoden mit einer kommagetrennten Liste von Werten aufrufen oder Objekte des zugrunde liegenden Typs übergeben.
Neuer Lock-Typ für bessere Performance
.NET 9 führt den neuen System.Threading.Lock-Typ ein, der effizienter sein kann als das Sperren auf einer beliebigen System.Object-Instanz. C# 13 macht die Verwendung dieses Typs einfach, indem der Compiler automatisch die richtigen API-Aufrufe generiert und Warnungen ausgibt, wenn ein Lock-Objekt fälschlicherweise als normales Objekt behandelt wird.
Verbesserungen beim Index-Operator
Der Index-Operator ^ ermöglicht es, Positionen in einer zählbaren Sammlung relativ zum Ende der Sammlung anzugeben. Mit C# 13 funktioniert dieser Operator nun auch bei Initialisierern. Das bedeutet, dass du z.B. das letzte Element einer Liste einfach referenzieren kannst, ohne die genaue Länge der Liste kennen zu müssen.
Neue Escape-Sequenz \e
C# 13 führt eine neue Escape-Sequenz \e für das ESCAPE-Zeichen ein, die die Arbeit mit Terminalausgaben erleichtert. Bisher musstest du hierfür den Unicode-Wert \u001b verwenden. Mit der neuen Sequenz kannst du z.B. Text fett formatieren oder andere Terminalbefehle einfacher und lesbarer gestalten.
Partielle Eigenschaften
Partielle Eigenschaften funktionieren ähnlich wie partielle Methoden und unterstützen hauptsächlich Quellcode-Generatoren. Dies ermöglicht es Developern, natürlichere APIs zu erstellen. Beispielsweise kannst du nun reguläre Ausdrücke als Eigenschaften anstelle von Methoden definieren, was den Code lesbarer und einfacher zu nutzen macht.
Update zu Extension Types
Die Funktion Extension Types wurde auf der Build-Konferenz vorgestellt. Obwohl ursprünglich geplant war, diese Funktion in C# 13 zu integrieren, wird sie mehr Zeit für Design und Implementierung benötigen. Du kannst sie voraussichtlich in frühen Vorschauen von C# 14 ausprobieren.
Weiterführende Informationen
.NET
Kostenlos, Cross-Plattform und Open Source
.NET-Dokumentation