Проводят ли VB6 условные испытания на короткое замыкание?То есть, могу ли я быть уверен, что оператор типа ...
If index <= array_size And array(index) > something Then
никогда не разорвет массив, каким бы ни было значение индекса?
Нет, VB6 And и Or не допускают короткого замыкания (именно поэтому версии короткого замыкания называются AndAlso и OrElse в VB.net - обратная совместимость).
And
Or
AndAlso
OrElse
В дополнение к блоку If/Then/Else/End If VB6 также поддерживает однострочную конструкцию If/Then/Else. Вы можете использовать их для простого короткого замыкания. Однако, поскольку это однострочный оператор, вы также должны выполнить желаемое действие в той же строке. Например:
If/Then/Else/End If
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 ...
Select Case - это метод короткого замыкания, если вы можете использовать его для своих целей.