Condividi tramite


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

ma se xviene false, y non viene valutato, poiché il risultato dell'operazione di AND viene 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 seguente, l'espressione condizionale nella seconda if l'istruzione restituisce solo il primo operando perché restituisce un valore di operando false.

class LogicalAnd
{
    static void Main()
    {
        // Each method displays a message and returns a Boolean value.  
        // Method1 returns false and Method2 returns true. When & is used, 
        // both methods are called. 
        Console.WriteLine("Regular AND:");
        if (Method1() & Method2())
            Console.WriteLine("Both methods returned true.");
        else
            Console.WriteLine("At least one of the methods returned false.");

        // When && is used, after Method1 returns false, Method2 is  
        // not called.
        Console.WriteLine("\nShort-circuit AND:");
        if (Method1() && Method2())
            Console.WriteLine("Both methods returned true.");
        else
            Console.WriteLine("At least one of the methods returned false.");
    }

    static bool Method1()
    {
        Console.WriteLine("Method1 called.");
        return false;
    }

    static bool Method2()
    {
        Console.WriteLine("Method2 called.");
        return true;
    }
}
// Output: 
// Regular AND: 
// Method1 called. 
// Method2 called. 
// At least one of the methods returned false. 

// Short-circuit AND: 
// Method1 called. 
// At least one of the methods returned false.

Specifiche del linguaggio C#

Per altre informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso di C#.

Vedere anche

Riferimenti

Operatori [C#]

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#