&& 運算子 (C# 參考)

AND 條件運算子 (&&) 會對其 bool 運算元執行 AND 邏輯運算,但只有在需要時才會評估第二個運算元。

備註

運算

x && y

對應到這項運算

x & y

不同點在於當 x 為 false 時,就不會評估 y (因為不論 y 值為何,AND 運算的結果皆為 false)。 這就是所謂的「最少運算」(Short-Circuit) 評估。

AND 條件運算子無法多載,但是在特定限制下,標準邏輯運算子與 truefalse 運算子的多載,也視為條件邏輯運算子的多載。

範例

在下列範例中,可觀察到使用 && 的運算式只評估第一個運算元。

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
*/

C# 語言規格

如需詳細資訊,請參閱 C# 語言規格。 語言規格是 C# 語法和用法的決定性來源。

請參閱

參考

C# 運算子

概念

C# 程式設計手冊

其他資源

C# 參考