Skip to content

OrElse 运算符

对两个Boolean表达式执行短路逻辑析取。如果左操作数的计算结果为True,则不计算右操作数。

INFO

OrElse是twinBASIC扩展。经典的Or运算符总是计算两个操作数并返回按位结果;OrElse仅在需要时计算右操作数,且始终返回Boolean

语法:

result = expression1 OrElse expression2

result
Boolean变量。
expression1, expression2
计算结果为Boolean(或可强制转换为Boolean)的任意表达式。

如果expression1True,则resultTrue且不计算expression2。否则计算expression2,其Boolean值成为result

这是标准的"短路OR"。当expression2计算开销大,或当expression1已经为Trueexpression2会失败或产生不需要的副作用时,此运算符非常有用。

示例

当较简单的测试已经证明条件时,跳过开销大的查找:

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

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有