Operador || (Referencia de C#)

Actualización: noviembre 2007

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 NullCoalesce
{
    static int? GetNullableInt()
    {
        return null;
    }

    static string GetStringValue()
    {
        return null;
    }

    static void Main()
    {
        // ?? operator example.
        int? x = null;

        // y = x, unless x is null, in which case y = -1.
        int y = x ?? -1;

        // Assign i to return value of method, unless
        // return value is null, in which case assign
        // default value of int to i.
        int i = GetNullableInt() ?? default(int);

        string s = GetStringValue();
        // ?? also works with reference types. 
        // Display contents of s, unless s is null, 
        // in which case display "Unspecified".
        Console.WriteLine(s ?? "Unspecified");
    }
}

Vea también

Conceptos

Guía de programación de C#

Referencia

Operadores de C#

Otros recursos

Referencia de C#