何时"或"比"OrElse"更好用?

Thi*_*abé 6 vb.net

有什么情况Or比使用更好OrElse吗?

如果没有,为什么他们不只是"升级"内部代码?

Kon*_*lph 8

使用的唯一原因Or是当你想要按位算术时,即你想要操作数字中的位:

Sub SetBit(value As Integer, Bit As Integer)
    value = value Or (1 << Bit)
End Sub
Run Code Online (Sandbox Code Playgroud)

这种情况是唯一合适的情况Or.在所有其他情况下(即使用布尔逻辑时),请使用OrElse.

尽管他们相似的名字,OrOrElse在语义上是不应该相互混淆截然不同的操作.恰好是Booleans 的内部表示使得可以使用按位Or来实现类似(但不相同)的效果OrElse.(BASIC和VB的旧版本 - 在.NET之前 - 通过提供Or操作来利用这种关系,不OrElse.)