OrElse 运算符
对两个Boolean表达式执行短路逻辑析取。如果左操作数的计算结果为True,则不计算右操作数。
INFO
OrElse是twinBASIC扩展。经典的Or运算符总是计算两个操作数并返回按位结果;OrElse仅在需要时计算右操作数,且始终返回Boolean。
语法:
result = expression1 OrElse expression2
- result
- Boolean变量。
- expression1, expression2
- 计算结果为Boolean(或可强制转换为Boolean)的任意表达式。
如果expression1为True,则result为True且不计算expression2。否则计算expression2,其Boolean值成为result。
这是标准的"短路OR"。当expression2计算开销大,或当expression1已经为True时expression2会失败或产生不需要的副作用时,此运算符非常有用。
示例
当较简单的测试已经证明条件时,跳过开销大的查找:
vb
If IsCached(key) OrElse FetchFromDisk(key) Then
' FetchFromDisk is only called when IsCached returned False.
Process key
End If与使用Or的等效代码比较,后者即使缓存查找已成功也会始终调用FetchFromDisk:
vb
' Inefficient - FetchFromDisk runs even when IsCached returned True.
If IsCached(key) Or FetchFromDisk(key) Then
Process key
End If