Partilhar via


é (translation from VPE for Csharp Reference)

Verifica se um objeto é compatível com um determinado tipo.Por exemplo, o código a seguir pode determinar se um objeto é uma instância do MyObject tipo ou um tipo que deriva de MyObject:

if (obj is MyObject)
{
}

An is expressão é avaliada como true Se a expressão fornecida é não-nulo e o objeto fornecido pode ser convertido no tipo fornecido sem causar uma exceção seja lançada.

The is palavra-chave faz com que um aviso de time de compilar se a expressão é conhecida por estar sempre true ou para sempre false, mas geralmente é avaliada compatibilidade tipo em time de execução.

The is operador não pode ser sobrecarregado.

Observe que o is operador considera somente conversões de referência, as conversões conversão boxing e conversão conversão unboxing conversões. Outras conversões, sistema autônomo conversões definidas pelo usuário, não são considerados.

Métodos anônimo não são permitidos no lado esquerdo do is operador. Essa exceção inclui as expressões lambda.

Exemplo

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

Especificação da linguagem C#

Para obter mais informações, consulte as seções a seguir no Especificação da linguagem C#:

  • 7.6.6 Expressões cast

  • 7.9.10 o operador is

Consulte também

Conceitos

Guia de Programação C#

Referência

Palavras-chave C#

typeof (translation from VPE for Csharp Reference)

sistema autônomo (translation from VPE for Csharp Reference)

Operador de palavras-chave (translation from VPE for Csharp Reference)

Outros recursos

Referência C#