Operatore || (Riferimenti per C#)

L'operatore OR condizionale (||) esegue un OR 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 è true, y non verrà valutato, in quanto il risultato dell'operazione di OR è true indipendentemente dal valore di y. Questa condizione viene denominata anche valutazione "short circuit".

L'operatore OR 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 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
*/

Vedere anche

Riferimenti

Operatori [C#]

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#