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.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/4/5/3/5/0/7/5/aufmacher_csharp12-8c45c09ea0d21ae9.png)
- 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.