Share via


Operador == (Referencia de C#)

Para los tipo de valor predefinidos, el operador de igualdad (==) devuelve true si los valores de sus operandos son iguales y false en caso contrario. Para los tipos de referencia, excepto string, == devuelve true si sus dos operandos se refieren al mismo objeto. Para el tipo string, == compara los valores de las cadenas.

Comentarios

Los tipos de valor definidos por el usuario pueden sobrecargar el operador == (vea operator (Referencia de C#)). También pueden hacerlo los tipos de referencia definidos por el usuario, aunque, de forma predeterminada, == se comporta como se ha descrito anteriormente tanto para los tipos de referencia predefinidos como para los definidos por el usuario. Si se sobrecarga ==, también se debe sobrecargar !=. Las operaciones en tipos enteros se suelen permitir en enumeraciones.

Ejemplo

class Equality
{
    static void Main()
    {
        // Numeric equality: True
        Console.WriteLine((2 + 2) == 4);

        // Reference equality: different objects,  
        // same boxed value: False. 
        object s = 1;
        object t = 1;
        Console.WriteLine(s == t);

        // Define some strings: 
        string a = "hello";
        string b = String.Copy(a);
        string c = "hello";

        // Compare string values of a constant and an instance: True
        Console.WriteLine(a == b);

        // Compare string references;  
        // a is a constant but b is an instance: False.
        Console.WriteLine((object)a == (object)b);

        // Compare string references, both constants  
        // have the same value, so string interning 
        // points to same reference: True.
        Console.WriteLine((object)a == (object)c);
    }
}
/*
Output:
True
False
True
False
True
*/

Vea también

Referencia

operadores de C#

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#