所以我有一个if语句的3个条件,我想在检查第三个之前确保前两个是真的。这里有一些伪代码证明了我的意思:
if (A && B && C) {
doSomething
}
这相当于:
if (A && B) {
if (C) {
doSomething
}
}
或者我们可以不依赖于短路评估中的条件排序吗?
提前致谢!
答案 0 :(得分:3)
是的,短路会遵守订单,只会在发现故障之前进行评估(因此,当它知道无论以后的检查可能如何评估时,它都可能再次成功)。/ p>
答案 1 :(得分:0)
如果您需要全部3才能执行代码,那么两者都符合您的目的。 字面上该语句读取A和B和C是否为真,执行该代码。但是,如果您想要做A,B为真且C为假的事情,那么您将需要使用第二段代码并添加else语句