C# Records sind ein Segen für jeden Entwickler. Sie helfen uns, unseren Code besser zu organisieren und lesbarer zu machen. In diesem Artikel werden wir einige der grundlegenden Konzepte von C# Records kennenlernen.
Was sind C# Records?
Records sind ein Datentyp in C#, der uns erlaubt, unsere Datenstrukturen anzupassen. Records sehen aus wie ein normales Objekt, aber sie haben einige zusätzliche Eigenschaften. Zum einen sind sie vollständig immutable. Das heißt, sobald ein Record erstellt wurde, können wir die Werte seiner Felder nicht mehr ändern. Wir können sie nur durch neue Records ersetzen. Dies ist ein wichtiges Konzept, weil es uns hilft, Fehler in unserem Code zu vermeiden.
Zum anderen sind Records stark typisiert. Das bedeutet, dass wir jedes Feld eines Record mit einem bestimmten Datentyp angeben müssen. Wir können verschiedene Datentypen in einem Record verwenden, aber wir müssen immer offset genau angeben, welchen Typ wir in welchem Feld erwarten. Dies erleichtert die Lesbarkeit und Wartbarkeit unseres Codes enorm.
Auf meinem Youtube Kanal findest du zum Thema C# Records auch extra ein Erklärvideo:
Die Grundlagen der C# Record-Syntax
Wie bereits erwähnt, sehen Records aus wie normale Objekte. Sie bestehen aus einer Klasse und mehreren Feldern. Um ein Record in C# zu erstellen, schreiben wir einfach record anstatt class:
record Person {
public string Name;
public int Age;
}
Das ist alles, was wir tun müssen, um ein Record zu erstellen. Als nächstes können wir eine Instanz dieses Record erstellen, wie wir es normalerweise mit einem Objekt tun würden:
var p = new Person { Name = "John", Age = 20 };
Wenn wir ein Person-Objekt erstellen, müssen wir die Werte für alle Felder angeben. Wie bereits erwähnt, sind Records vollständig immutable. Das heißt, sobald wir ein Objekt erstellt haben, können wir die Werte seiner Felder nicht mehr ändern. Wir können lediglich ein neues Objekt erstellen, das die Änderungen enthält:
var p2 = p with { Age = 21 };
In diesem Beispiel haben wir ein neues Person-Objekt erstellt, das den gleichen Namen wie das ursprüngliche Objekt hat, aber ein anderes Alter.
Fazit zu C# Records
Records sind ein sehr nützliches Konzept in C#. Sie helfen uns, unseren Code lesbarer und wartbarer zu machen. In Zukunft werden wir vermutlich immer häufiger auf Records stoßen, da sie einige der Nachteile von Objekten adressieren.
Wenn du noch mehr über C# Records erfahren möchtest, dann schau mal hier.