VB6是否会使复杂的条件短路?

时间:2010-10-25 13:19:33

标签: vb6

VB6是否会短路条件测试?也就是说,我能确定一个像......这样的陈述吗?

If index <= array_size And array(index) > something Then
无论索引的值是什么,

都永远不会破坏数组?

3 个答案:

答案 0 :(得分:25)

不,VB6的AndOr不会短路(这就是为什么在VB中调用短路版本AndAlsoOrElse的原因。 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是一种短路方法,如果您可以将它用于您的目的。