VB6是否会短路条件测试?也就是说,我能确定一个像......这样的陈述吗?
If index <= array_size And array(index) > something Then
无论索引的值是什么,都永远不会破坏数组?
答案 0 :(得分:25)
不,VB6的And
和Or
不会短路(这就是为什么在VB中调用短路版本AndAlso
和OrElse
的原因。 net - 向后兼容性。)
答案 1 :(得分:3)
除了If/Then/Else/End If
块之外,VB6还支持单行If/Then/Else
构造。您可以嵌套这些以实现简单的短路。但是,由于它是单行语句,因此您必须在同一行上执行所需的操作。例如:
' From (no short-circuit)
If index <= array_size And array(index) > something Then
' To (short-circuit)
If index <= array_size Then If array(index) > something Then ...
答案 2 :(得分:1)
Select Case是一种短路方法,如果您可以将它用于您的目的。