&&Operador (translation from VPE for Csharp Reference)
A condicional- E operador (&&) executa uma lógica- AND do seu bool operandos, mas apenas avalia seu segundo operando, se necessário.
Comentários
A operação
x && y
corresponde à operação
x & y
exceto se x é false, y não será avaliado (porque é o resultado da operação e false não importa qual o valor de y pode ser). Isso é conhecido sistema autônomo "" avaliação de circuito curto.
A condicional- E o operador não pode ser sobrecarregado, mas sobrecargas dos operadores lógicos regulares e operadores True and False, com algumas restrições, também são considerados sobrecargas de 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 as seções a seguir no Especificação da linguagem C#:
- 7.11.2 Operadores definidos pelo usuário condicionais lógicos