Objektorientiertes C#

Records und Vergleich nach Wert in C#

In dieser Lektion stellst du mit Records unveränderliche Daten kompakt dar und erzeugst mit dem Ausdruck with veränderte Kopien.

Einführung

Ein Record ist ein Typ für Objekte, die hauptsächlich Daten enthalten. Mit einer einzigen Deklarationszeile bekommt er einen Konstruktor, schreibgeschützte Eigenschaften und eine übersichtliche Ausgabe. Vor allem gelten zwei Records als gleich, wenn die enthaltenen Werte gleich sind.

Die Zeile record User(string Name, string Role) erzeugt einen Typ mit den beiden Eigenschaften Name und Role. Der Ausdruck original with { Role = "Lead" } erzeugt eine Kopie, in der nur Role geändert ist, original behält den Wert Developer. Bei der Ausgabe zeigt der Record seinen Inhalt automatisch im Format User { Name = Ada, Role = Lead }.

Ausführbares C#-Beispiel

C#
Code ausführen →
Program.cs
using System;

record User(string Name, string Role);

class Program
{
    static void Main()
    {
        var original = new User("Ada", "Developer");
        var promoted = original with { Role = "Lead" };
        Console.WriteLine(promoted);
    }
}
Ergebnis der Ausführung
User { Name = Ada, Role = Lead }

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges