Udostępnij za pośrednictwem


is (odwołanie w C#)

Sprawdza, czy obiekt jest zgodna z danego typu.Na przykład, poniższy kod można określić, jeśli obiekt jest wystąpieniem MyObject typu lub typ, który pochodzi od MyObject:

if (obj is MyObject)
{
}

is Wyrażenie zostanie oszacowane jako true , jeśli przewidziano wyrażenie jest niezerowe i podanego obiektu mogą być rzutowane na podany typ bez powodowania być zgłoszony wyjątek.

is Słowa kluczowego powoduje ostrzeżenie w czasie kompilacji, jeśli wiadomo, że wyrażenie zawsze true lub które mają być zawsze false, ale zazwyczaj wynikiem zgodności typów w czasie wykonywania.

is Operator nie mogą być przeciążone.

Należy zauważyć, że is operator tylko uważa konwersje odniesienia i konwersje boksie rozpakowanej konwersji.Inne konwersji, takich jak konwersje zdefiniowane przez użytkownika, nie są uważane za.

Anonimowe metody nie są dozwolone po lewej stronie is operatora.Wyjątek ten obejmuje lambda wyrażeń.

Przykład

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.
*/

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.

Zobacz też

Informacje

Słowa kluczowe języka C#

typeof (odwołanie w C#)

as (odwołanie w C#)

Słowa kluczowe operatora (odwołanie w C#)

Koncepcje

Przewodnik programowania w języku C#

Inne zasoby

Odwołanie w C#