zurück zum Artikel

C#-Update: Version 12.0 punktet mit Primärkonstruktoren für Klassen

Dr. Holger Schwichtenberg

C# 12.0 bietet einige Veränderungen. Mengen darf man nun wie in JavaScript mit eckigen Klammern initialisieren. Wir geben eine Übersicht.

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. [1] [1] 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.

Mehr zum Thema Softwareentwicklung
Dr. Holger Schwichtenberg

Dr. Holger Schwichtenberg ist Chief Technology Expert bei der MAXIMAGO-Softwareentwicklung. Mit dem Expertenteam bei www.IT-Visions.de bietet er zudem Beratung und Schulungen im Umfeld von Microsoft-, Java- und Webtechniken an. Er hält Vorträge auf Fachkonferenzen und ist Autor zahlreicher Fachbücher.

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.


URL dieses Artikels:
https://www.heise.de/-9614654

Links in diesem Artikel:
[1] https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version
[2] https://www.heise.de/hintergrund/CI-CD-mit-GitLab-Deployment-einer-statischen-Website-auf-einen-eigenen-Server-9680277.html
[3] https://www.heise.de/hintergrund/Virtualisierungsplattform-Proxmox-VE-Was-es-kann-und-was-nicht-9649499.html
[4] https://www.heise.de/hintergrund/So-gelingt-die-Migration-von-VMware-zu-Proxmox-9649738.html
[5] https://www.heise.de/tests/Codesphere-im-Test-Deployment-und-Entwicklungsumgebung-aus-einer-Hand-9618839.html
[6] https://www.heise.de/ratgeber/Schnellere-Apps-Teil-1-Wie-TornadoVM-Java-Code-auf-GPUs-beschleunigt-9592700.html
[7] https://www.heise.de/ratgeber/TornadoVM-Teil-2-Parallelisieren-im-grossen-Massstab-9615434.html
[8] https://www.heise.de/ratgeber/C-Update-Version-12-0-punktet-mit-Primaerkonstruktoren-fuer-Klassen-9614654.html
[9] https://www.heise.de/ratgeber/Paketmanager-Nix-ausprobiert-Softwarepakete-managen-und-bauen-9312211.html
[10] https://www.heise.de/ratgeber/Paketmanager-Nix-ausprobiert-Teil-2-Softwarepakete-managen-und-bauen-9344701.html
[11] https://www.heise.de/ratgeber/Paketmanager-Nix-ausprobiert-Teil-3-Bedarfsgerecht-paketieren-9611393.html