Wichtige C#-Themen

Mustervergleich (pattern matching) in C#

In dieser Lektion prüfst du mit einem switch-Ausdruck und Mustern Typ und Wert von Daten übersichtlich und sicher.

Einführung

Mit dem Mustervergleich (pattern matching) prüfst du in einem einzigen Ausdruck, welchen Typ ein Wert hat, ob er eine Bedingung erfüllt, und holst die Daten gleich zur Verwendung heraus. Das ersetzt das umständliche und fehleranfällige Prüfen des Typs mit anschließender manueller Typumwandlung.

Der switch-Ausdruck in der Funktion Describe prüft die Muster der Reihe nach: null für fehlende Daten, int number when number > 0 für positive ganze Zahlen, string { Length: > 0 } für nicht leere Strings und _ für alle übrigen Fälle. Beim Wert 12 passt das Muster für positive ganze Zahlen, das Ergebnis ist positive 12.

So funktioniert es

Ändere den Tag mit dem Schieberegler. Das Programm springt direkt zum passenden case und zu default, wenn nichts passt.

Ausführbares C#-Beispiel

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

class Program
{
    static string Describe(object? value) => value switch
    {
        null => "missing",
        int number when number > 0 => $"positive {number}",
        string { Length: > 0 } text => $"text: {text}",
        _ => "other"
    };

    static void Main() => Console.WriteLine(Describe(12));
}
Ergebnis der Ausführung
positive 12

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