C#-Update: Version 12.0 punktet mit Primärkonstruktoren für Klassen
C# 12.0 bietet einige Veränderungen. Mengen darf man nun wie in JavaScript mit eckigen Klammern initialisieren. Wir geben eine Übersicht.

- Dr. Holger Schwichtenberg
C# 12.0 ist zusammen mit Visual Studio 2022 Version 17.8 und .NET 8.0 am 14.11.2023 erschienen. Microsoft gestattet es, die neuen C#-12.0-Sprachfeatures offiziell erst ab .NET 8.0 zu verwenden. Entwicklerinnen und Entwickler können aber die meisten (allerdings nicht alle) C#-12.0-Sprachfeatures auch in älteren .NET-Versionen einschließlich .NET Framework, .NET Core und Xamarin nutzen. Dazu müssen sie die <LangVersion>
in der Projektdatei (.csproj) auf 12.0 erhöhen.
Die bedeutendste Neuerung in C# 12.0 sind Primärkonstruktoren für Klassen. Dieses Sprachfeature war bereits im Jahr 2014 als Prototyp für C# 6.0 verfügbar, ist dann aber nicht im endgültigen Produkt erschienen. Nun – sechs C#-Versionen weiter – kommt Microsoft in C# 12.0 darauf zurück, auch vor dem Hintergrund der Record-Typen, die es seit C# 9.0 mit Primärkonstruktoren gibt:
public record Person(int ID, string Name, string Website = "");
Ein Primärkonstruktor ist eine Parameterliste direkt hinter dem Typnamen. In C# 12.0 ist das auch für Klassendefinitionen möglich.
Das war die Leseprobe unseres heise-Plus-Artikels "C#-Update: Version 12.0 punktet mit Primärkonstruktoren für Klassen". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.