Sdílet prostřednictvím


is (Referenční dokumentace jazyka C#)

Zkontroluje, zda je kompatibilní s daného typu objektu.Například následující kód můžete určit, pokud je objekt instancí MyObject typ nebo typ, který je odvozen od MyObject:

if (obj is MyObject)
{
}

is Výraz vyhodnocen jako true -li zadaný výraz hodnotu null a poskytnutý objekt můžete obsadit poskytnutý typ, aniž by být vyvolána výjimka.

is Klíčové slovo způsobuje kompilace upozornění Pokud výraz známý vždy true nebo vždy false, ale obvykle vyhodnotí kompatibility typu v době spuštění.

is Operátor nemůže být přetížena.

Všimněte si, že is operátor pouze považuje referenční převody, boxerská převody a převody na volné určení.Nejsou považovány za jiné převody, například uživatelem definované převody.

Anonymní metody nejsou povoleny na levé straně is operátor.Tato výjimka zahrnuje lambda výrazů.

Příklad

class Class1 {}
class Class2 {}
class Class3 : Class2 { }

class IsTest
{
    static void Test(object o)
    {
        Class1 a;
        Class2 b;

        if (o is Class1)
        {
            Console.WriteLine("o is Class1");
            a = (Class1)o;
            // Do something with "a."
        }
        else if (o is Class2)
        {
            Console.WriteLine("o is Class2");
            b = (Class2)o;
            // Do something with "b."
        }

        else
        {
            Console.WriteLine("o is neither Class1 nor Class2.");
        }
    }
    static void Main()
    {
        Class1 c1 = new Class1();
        Class2 c2 = new Class2();
        Class3 c3 = new Class3();
        Test(c1);
        Test(c2);
        Test(c3);
        Test("a string");
    }
}
/*
Output:
o is Class1
o is Class2
o is Class2
o is neither Class1 nor Class2.
*/

Specifikace jazyka C#

Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také

Referenční dokumentace

Klíčová slova jazyka C#

typeof (Referenční dokumentace jazyka C#)

as (Referenční dokumentace jazyka C#)

Klíčová slova operátorů (Referenční dokumentace jazyka C#)

Koncepty

Průvodce programováním v C#

Další zdroje

Referenční dokumentace jazyka C#