VB具有运算符AndAlso和OrElse,它们执行短路逻辑连接.
为什么这不是And和Or表达式的默认行为,因为短路在每种情况下都很有用.
奇怪的是,这与大多数语言相反,其中&&和|| 执行短路.
因为VB团队必须保持与旧代码(和程序员!)的向后兼容性.
如果短路是默认行为,则编译器会错误地解释按位操作.
我们为什么要介绍AndAlso和OrElse?由Panopticon Central提供
我们的第一个想法是逻辑运算比按位运算更常见,因此我们应该使And和Or成为逻辑运算符并添加名为BitAnd,BitOr,BitXor和BitNot的新的按位运算符(最后两个是完整性).然而,在其中一个测试版中,显然这是一个非常糟糕的主意.一个VB用户忘记新运算符的存在和使用当他意味着BitAnd和Or,当他意味着BitOr将获得编译但产生"坏"结果的代码.