& & Operador (referência de C#)
A condicional- E operador (&&) executa uma lógica- E de seus bool operandos, mas somente avalia 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 será avaliado (porque o resultado da operação e é false não importa que o valor de y pode ser). Isso é conhecido como "circuito curto" avaliação.
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, observe que a expressão usando && avalia apenas o primeiro 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
*/
Especificação da linguagem C#
Para obter mais informações, consulte C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.