Exportar (0) Imprimir
Expandir todo

is (Referencia de C#)

Comprueba si un objeto es compatible con un tipo determinado. Por ejemplo, se puede determinar si un objeto es compatible con el tipo string de la forma siguiente:

if (obj is string)
{
}

Una expresión is se evalúa como true si la expresión proporcionada no es NULL y el objeto proporcionado se puede convertir al tipo proporcionado sin producir una excepción. Para obtener más información, vea 7.6.6 Cast expressions.

La palabra clave is tiene como resultado una advertencia en tiempo de compilación si se sabe que la expresión siempre será true o siempre será false, pero normalmente evalúa la compatibilidad de tipos en tiempo de ejecución.

El operador is no se puede sobrecargar.

Observe que el operador is solamente tiene en cuenta las conversiones de referencia, las conversiones boxing y las conversiones unboxing. No se tienen en cuenta otras conversiones, tales como las conversiones definidas por el usuario.

// cs_keyword_is.cs
// The is operator.
using System;
class Class1
{
}
class 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();
        Test(c1);
        Test(c2);
        Test("a string");
    }
}

Resultados

o is Class1
o is Class2
o is neither Class1 nor Class2.

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

  • 7.9.9 El operador is

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft