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.

Lesezeit: 6 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag
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:

Immer mehr Wissen. Das digitale Abo für IT und Technik.

  • Zugriff auf alle Inhalte von heise+
  • exklusive Tests, Ratgeber & Hintergründe: unabhängig, kritisch fundiert
  • c't, iX, Technology Review, Mac & i, Make, c't Fotografie direkt im Browser lesen
  • einmal anmelden – auf allen Geräten lesen - monatlich kündbar
  • erster Monat gratis, danach monatlich 12,95 €
  • Wöchentlicher Newsletter mit persönlichen Leseempfehlungen des Chefredakteurs
GRATIS-Monat beginnen Jetzt GRATIS-Monat beginnen Mehr Informationen zu heise+