Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge aus, um die neuesten Funktionen, Sicherheitsupdates und technischen Support zu nutzen.
Der is
-Operator überprüft, ob das Ergebnis eines Ausdrucks mit einem bestimmten Typ kompatibel ist. Informationen zu Typtests des is
-Operators finden Sie im Abschnitt is-Operator des Artikels Typtestoperatoren und Cast-Ausdrücke. Sie können den is
-Operator auch verwenden, um einen Ausdruck mit einem Muster abzugleichen, wie im folgenden Beispiel gezeigt:
static bool IsFirstFridayOfOctober(DateTime date) =>
date is { Month: 10, Day: <=7, DayOfWeek: DayOfWeek.Friday };
Im vorherigen Beispiel vergleicht der is
-Operator einen Ausdruck mit einem Eigenschaftsmuster mit geschachtelten konstanten und relationalen Mustern.
Der is
-Operator kann in den folgenden Szenarien nützlich sein:
So prüfen Sie den Laufzeittyp eines Ausdrucks, wie im folgenden Beispiel gezeigt:
int i = 34;
object iBoxed = i;
int? jNullable = 42;
if (iBoxed is int a && jNullable is int b)
{
Console.WriteLine(a + b); // output 76
}
Das vorherige Beispiel zeigt die Verwendung eines Deklarationsmusters.
So prüfen Sie auf null
, wie im folgenden Beispiel gezeigt:
if (input is null)
{
return;
}
Wenn Sie einen Ausdruck mit null
abgleichen, garantiert der Compiler, dass kein vom Benutzer überladener ==
- oder !=
-Operator aufgerufen wird.
Sie können ein negiertes Muster verwenden, um auf nicht NULL zu prüfen, wie im folgenden Beispiel gezeigt:
if (result is not null)
{
Console.WriteLine(result.ToString());
}
Ab C# 11 können Sie Listenmuster verwenden, um Elemente einer Liste oder eines Arrays abzugleichen. Der folgende Code überprüft Arrays auf Integer-Werte in erwarteten Positionen:
int[] empty = [];
int[] one = [1];
int[] odd = [1, 3, 5];
int[] even = [2, 4, 6];
int[] fib = [1, 1, 2, 3, 5];
Console.WriteLine(odd is [1, _, 2, ..]); // false
Console.WriteLine(fib is [1, _, 2, ..]); // true
Console.WriteLine(fib is [_, 1, 2, 3, ..]); // true
Console.WriteLine(fib is [.., 1, 2, 3, _ ]); // true
Console.WriteLine(even is [2, _, 6]); // true
Console.WriteLine(even is [2, .., 6]); // true
Console.WriteLine(odd is [.., 3, 5]); // true
Console.WriteLine(even is [.., 3, 5]); // false
Console.WriteLine(fib is [.., 3, 5]); // true
Hinweis
Eine vollständige Liste der vom is
-Operator unterstützten Muster finden Sie unter Muster.
Weitere Informationen finden Sie im Abschnitt Der is-Operator der C#-Sprachspezifikation und Musterabgleich.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrieren