zurück zum Artikel

Programmierung: C#-Sprachelemente im Praxiseinsatz

Dr. Holger Schwichtenberg

C# 9.0 bietet eine schlanke Syntax für unveränderbare Datenobjekte und weitere syntaktische Zuckerstückchen für .NET Core 3.x, .NET 5.0 und Xamarin.

Schon die im September 2019 erschienene achte Version von C# benachteiligte diejenigen, die noch mit dem klassischen .NET Framework entwickeln, denn sie konnten einige der Funktionen nicht verwenden. Ab C# 9.0 sind sie nun ganz außen vor, denn die neuen Sprachelemente kompilieren nur noch auf .NET 5.0, .NET Core 3.0/3.1 und Mono/Xamarin.

Microsofts wichtigstes Thema in C# 9.0 sind unveränderbare Datenobjekte, die – einmal initialisiert – ihren Zustand nicht mehr ändern können. Grundkonstrukt dafür sind sogenannte Init-only-Properties. Hier wird das Schlüsselwort init anstelle von set verwendet. Dies ist möglich bei allen Arten der Deklaration von Properties, also in der Langschreibweise:

C weitergedacht
private int id;
public int IDspy
{
 get { return id; }
 init { id = value; }
}

oder in der Lambdaschreibweise:


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

Links in diesem Artikel:
[1] https://www.heise.de/hintergrund/Modernes-Programmieren-mit-C-20-4778179.html
[2] https://www.heise.de/ratgeber/Rust-Programmiersprache-fuer-Browser-Cloud-und-mehr-4802076.html
[3] https://www.heise.de/ratgeber/Google-Go-Programmiersprache-fuer-die-Cloud-4835613.html
[4] https://www.heise.de/ratgeber/Programmiersprache-D-Die-C-Alternative-mit-reger-Community-4783393.html
[5] https://www.heise.de/ratgeber/Programmieren-Typsicherheit-mit-Swift-4784113.html
[6] https://www.heise.de/ratgeber/C-8-0-Aenderungen-bei-Schnittstellen-und-Compiler-4835473.html
[7] https://www.heise.de/ratgeber/Webanwendungen-Single-Page-Web-Applications-mit-Blazor-und-C-4782114.html