&& 运算符

条件“与”运算符 (&&) 执行其 && 操作数的逻辑“与”运算,但仅在必要时才计算第二个操作数。

备注

操作

x && y
本在线速查手册由www.w┓3┓x┓u┓e.com提供,请勿盗用!

对应于操作

x & y
本在线速查手册由www.w┓3┓x┓u┓e.com提供,请勿盗用!

不同的是,如果 x 为 false,则不计算 y(因为不论 y 为何值,“与”操作的结果都为 false)。这被称作为“短路”计算。

不能重载条件“与”运算符,但常规逻辑运算符和运算符 true 与 false 的重载,在某些限制条件下也被视为条件逻辑运算符的重载。

示例

在下面的示例中,请观察使用 && 的表达式只计算第一个操作数。

C# 
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
*/
本在线速查手册由www.w┓3┓x┓u┓e.com提供,请勿盗用!