对于VB.NET中的以下If语句,将评估条件的顺序是什么?
情况1:
If ( condition1 AND condition2 AND condition3 ) . . End If
案例2:
If ( condition1 OR condition2 OR condition3 ) . . End If
案例3:
If ( condition1 OR condition2 AND condition3 OR condition4) . . End If
Gerrie Schen.. 11
VB.Net评估所有条件,因此这里的顺序并不重要.
如果要使用短路,请使用AndAlso和OrElse关键字.
VB.Net评估所有条件,因此这里的顺序并不重要.
如果要使用短路,请使用AndAlso和OrElse关键字.
从C程序员的角度来看,VB.NET是一个非常奇怪的野兽.正如Gerrie在一个不同的答案中提到的那样,所有三个条件都是完全评估的,没有短路.如果这就是你想要的,那么Also和OrElse可以节省你的一天.
至于最后的if,评估顺序如下:
If ((condition1 OR (condition2 AND condition3)) OR condition4)
根据经验:如果有任何 ambiguitiy,请使用括号明确指定评估顺序.