下面有两个 if 语句使用逻辑运算符具有多个条件。逻辑上两者相同,但检查顺序不同。第一个有效,第二个失败。
我提到了 MSDN用于检查条件的执行顺序是否已定义;但我找不到。
考虑以 &&
作为逻辑运算符的多重检查条件。是否保证它将始终检查第一个条件,如果不满足第二个条件,则不会被检查?
我以前使用方法 1,效果很好。寻找 MSDN 引用来证实其使用。
更新
代码
List<string> employees = null;
if (employees != null && employees.Count > 0)
{
string theEmployee = employees[0];
}
if (employees.Count > 0 && employees != null)
{
string theEmployee = employees[0];
}
最佳答案
&& 和 ||运营商短路。即:
1) 如果 && 评估其第一个操作数为假,则不会评估其第二个操作数。
2) 如果 ||评估其第一个操作数为真,它不评估其第二个操作数。
这让你可以对对象进行空检查 && 做一些事情,就好像它不为空一样,第二个操作数不被评估。
关于c# - C# If语句中条件的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16711051/