Operador && (Referencia de C#)

Actualización: noviembre 2007

El operador AND condicional (&&) realiza una operación lógica AND 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

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

El operador AND condicional no se puede sobrecargar, pero las sobrecargas de los operadores lógicos normales y los operadores true y false también se consideran, 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 LogicalAnd
{
    static bool Method1()
    {
        Console.WriteLine("Method1 called");
        return false;
    }

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

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

Especificación del lenguaje C#

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

  • 7.11.2 Operadores lógicos condicionales definidos por el usuario

Vea también

Conceptos

Guía de programación de C#

Referencia

Operadores de C#

Otros recursos

Referencia de C#