is – operátor (Referenční dokumentace jazyka C#)
isOperátor zkontroluje, zda je výsledek výrazu kompatibilní s daným typem. Informace o is operátoru testování typu naleznete v části operátor is v článku operátory testování a přetypování .
Počínaje jazykem C# 7,0 můžete také použít is operátor pro porovnání výrazu se vzorem, jak ukazuje následující příklad:
static bool IsFirstFridayOfOctober(DateTime date) =>
date is { Month: 10, Day: <=7, DayOfWeek: DayOfWeek.Friday };
V předchozím příkladu is operátor odpovídá výrazu proti vzoru vlastností s vnořenými konstantními a relačními vzory.
isOperátor může být užitečný v následujících scénářích:
Pro kontrolu typu běhu výrazu, jak ukazuje následující příklad:
int i = 34; object iBoxed = i; int? jNullable = 42; if (iBoxed is int a && jNullable is int b) { Console.WriteLine(a + b); // output 76 }Předchozí příklad ukazuje použití vzoru deklarace.
Chcete-li zjistit
null, jak ukazuje následující příklad:if (input is null) { return; }Pokud odpovídáte výrazu proti
null, kompilátor zaručuje, že není vyvolána žádná přetížená uživatelem==nebo!=operátor.Počínaje jazykem C# 9,0 můžete použít vzor negace pro kontrolu bez hodnoty null, jak ukazuje následující příklad:
if (result is not null) { Console.WriteLine(result.ToString()); }
Poznámka
Úplný seznam vzorů podporovaných is operátorem naleznete v tématu Patterns.
specifikace jazyka C#
Další informace naleznete v části operátor is v tématu specifikace jazyka c# a v následujících návrzích jazyka c#: