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#:

Viz také