Compartir a través de


Operador || (Referencia de C#)

El operador OR condicional (||) realiza una operación lógica OR de sus operandos de tipo bool, pero sólo evalúa su segundo operando si es necesario.

Comentarios

La operación

x || y

se corresponde con la operación

x | y

salvo que si x es true, y no se evalúa (ya que el resultado de la operación OR será true independientemente del valor de y). Esto se conoce como evaluación "cortocircuitada".

El operador OR condicional no se puede sobrecargar, pero las sobrecargas de los operadores lógicos normales y los operadores true y false se consideran también, con ciertas restricciones, sobrecargas de los operadores lógicos condicionales.

Ejemplo

En el siguiente ejemplo, observe que la expresión que utiliza || sólo evalúa el primer operando.

class ConditionalOr
{
    static bool Method1()
    {
        Console.WriteLine("Method1 called");
        return true;
    }

    static bool Method2()
    {
        Console.WriteLine("Method2 called");
        return false;
    }

    static void Main()
    {
        Console.WriteLine("regular OR:");
        Console.WriteLine("result is {0}", Method1() | Method2());
        Console.WriteLine("short-circuit OR:");
        Console.WriteLine("result is {0}", Method1() || Method2());
    }
}
/*
Output:
regular OR:
Method1 called
Method2 called
result is True
short-circuit OR:
Method1 called
result is True
*/

Vea también

Referencia

operadores de C#

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#