C#If语句中条件的执行顺序

问题描述 投票:26回答:8

下面有两个if语句使用逻辑运算符具有多个条件。逻辑上两者相同,但检查顺序不同。第一个有效,第二个失败。

[我参考MSDN检查条件的执行顺序是否已定义;但我找不到。

考虑具有&&作为逻辑运算符的多重检查条件。是否保证将始终检查第一个条件,如果不满足,将检查第二个条件?[]?我曾经使用方法1,但效果很好。寻找可充分使用的MSDN参考。

UPDATE

参考"short-circuit" evaluation

CODE

List<string> employees = null; if (employees != null && employees.Count > 0) { string theEmployee = employees[0]; } if (employees.Count > 0 && employees != null) { string theEmployee = employees[0]; }
下面有两个if语句使用逻辑运算符具有多个条件。逻辑上两者相同,但检查顺序不同。第一个工作,第二个失败。我...
c# .net conditional-statements logical-operators short-circuiting
8个回答
54
投票
&&和||操作员短路。那是:

1)如果&&将其第一个操作数评估为false,则不评估其第二个操作数。


10
投票
您应使用:

8
投票
条件从左到右检查。 &&运算符仅在左条件为true时才评估右条件。

3
投票

2
投票

2
投票

0
投票
是否保证将始终检查第一个条件,以及是否不满足的第二个条件将不会被检查?

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.