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.
- Dr. Holger Schwichtenberg
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:
private int id;
public int IDspy
{
get { return id; }
init { id = value; }
}
oder in der Lambdaschreibweise:
Das war die Leseprobe unseres heise-Plus-Artikels "Programmierung: C#-Sprachelemente im Praxiseinsatz". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.