对于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
从C程序员的角度来看,VB.NET是一个非常奇怪的野兽.正如Gerrie在不同的答案中提到的那样,所有三个条件都是完整的,没有短路.如果这就是你想要的,那么Also和OrElse可以节省你的一天.
至于最后一个,评估顺序如下:
If ((condition1 OR (condition2 AND condition3)) OR condition4)
根据经验:如果有任何ambiguitiy,请使用括号明确指定评估顺序.