Compartilhar via


Operador && (Referência de C#)

A condicional- E operador (&&) executa uma lógica- E de sua bool operandos, mas somente avalia o seu segundo operando se necessário.

Comentários

A operação

x && y

corresponde à operação

x & y

exceto que se x é false, y não é avaliada, porque o resultado da operação e é false não importa que o valor de y é. Isso é conhecido como "" avaliação de circuito curto.

A condicional- E o operador não pode ser sobrecarregado, mas sobrecargas dos operadores lógicos regulares e operadores de true e false , com certas restrições, também são considerados sobrecargas dos operadores lógicos condicionais.

Exemplo

No exemplo a seguir, a expressão condicional na segunda if instrução avalia apenas o primeiro operando como o operando retorna false.

class LogicalAnd
{
    static void Main()
    {
        // Each method displays a message and returns a Boolean value.  
        // Method1 returns false and Method2 returns true. When & is used, 
        // both methods are called. 
        Console.WriteLine("Regular AND:");
        if (Method1() & Method2())
            Console.WriteLine("Both methods returned true.");
        else
            Console.WriteLine("At least one of the methods returned false.");

        // When && is used, after Method1 returns false, Method2 is  
        // not called.
        Console.WriteLine("\nShort-circuit AND:");
        if (Method1() && Method2())
            Console.WriteLine("Both methods returned true.");
        else
            Console.WriteLine("At least one of the methods returned false.");
    }

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

    static bool Method2()
    {
        Console.WriteLine("Method2 called.");
        return true;
    }
}
// Output: 
// Regular AND: 
// Method1 called. 
// Method2 called. 
// At least one of the methods returned false. 

// Short-circuit AND: 
// Method1 called. 
// At least one of the methods returned false.

Especificação da linguagem C#

Para obter mais informações, consulte a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

Operadores em C#

Conceitos

Guia de Programação em C#

Outros recursos

Referência de C#