更新:2007 年 11 月
条件“与”运算符 (&&) 执行其 && 操作数的逻辑“与”运算,但仅在必要时才计算第二个操作数。
备注
操作
复制代码 | |
---|---|
x && y |
对应于操作
复制代码 | |
---|---|
x & y |
不同的是,如果 x 为 false,则不计算 y(因为不论 y 为何值,“与”操作的结果都为 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 */ |
C# 语言规范
有关更多信息,请参见 C# 语言规范中的以下各章节:
7.11.2 用户定义的条件逻辑运算符