|| Operador (referência de C#)
O operador condicional ou (||) executa um lógica OR de sua 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 é true, y não será avaliado (porque o resultado da operação ou é true não importa que o valor de y pode ser). Isso é conhecido como "circuito curto" avaliação.
O operador condicional ou 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 ConditionalOr
{
static bool Method1()
{
Console.WriteLine("Method1 called");
return true;
}
static bool Method2()
{
Console.WriteLine("Method2 called");
return false;
}
static void Main()
{
Console.WriteLine("regular OR:");
Console.WriteLine("result is {0}", Method1() | Method2());
Console.WriteLine("short-circuit OR:");
Console.WriteLine("result is {0}", Method1() || Method2());
}
}
/*
Output:
regular OR:
Method1 called
Method2 called
result is True
short-circuit OR:
Method1 called
result is True
*/