Programmierung: C#-Sprachelemente im Praxiseinsatz

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.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 12 Min.
Von
  • Dr. Holger Schwichtenberg
Inhaltsverzeichnis

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: