Operatore && (Riferimenti per C#)
L'operatore AND condizionale (&&) esegue un AND logico degli operandi bool, ma valuta il secondo operando solo se necessario.
Note
L'operazione
x && y
corrisponde all'operazione
x & y
con la differenza che, se x è false, y non verrà valutato, in quanto il risultato dell'operazione di AND è false indipendentemente dal valore di y . Questa condizione viene denominata anche valutazione "short circuit".
L'operatore AND condizionale non può essere sottoposto a overload. Tuttavia, anche gli overload dei normali operatori logici e degli operatori true e false vengono considerati, con qualche limitazione, overload degli operatori logici condizionali.
Esempio
Nell'esempio riportato di seguito, l'espressione che utilizza l'operatore && valuta solo il primo 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
*/
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio è la fonte ufficiale per la sintassi e l'utilizzo di C#.