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 Especificação de linguagem do C# A especificação da linguagem é a fonte definitiva para a sintaxe e o uso da linguagem C#.

Consulte também

Referência

Operadores de C#

Conceitos

Guia de programação do C#

Outros recursos

Referência de C#