逻辑运算符(针对 Visual Basic 6.0 用户)

更新:2007 年 11 月

Visual Basic 2008 移除了两个布尔运算符并添加了另外两个运算符来提高性能。

Visual Basic 6.0

在 Visual Basic 6.0 中,布尔运算符(And、Or、Not 和 Xor)总是计算其操作数中的所有表达式。

可以使用 Eqv 和 Imp 运算符来执行两个表达式中的逻辑等价式和逻辑隐含式。

Visual Basic 2008

在 Visual Basic 2008 中,And、Or、Not 和 Xor 运算符仍对其操作数中的所有表达式求值。Visual Basic 2008 还引入了两个新的运算符 AndAlso 和 OrElse,可以通过“短路”逻辑计算来缩短执行时间。如果 AndAlso 运算符的第一个操作数求出的值为 False,则不对第二个操作数求值。类似地,如果 OrElse 运算符的第一个操作数求出的值为 True,则不对第二个操作数求值。

说明:

使用短路运算符时应小心。如果第二个操作数包含过程调用,则不能依赖每次操作符执行时调用的过程。

不支持 Eqv 和 Imp 运算符。使用等号 (=) 比较运算符替换逻辑计算的 Eqv;对于按位计算,则使用 Not 和 XOr,如下例所示:

Result = Not (A XOr B) 'Same as A Eqv B
                       '(True unless A and B are not both True or False

可以使用采用 Not 和 Or 运算符的表达式代替逻辑 Imp 运算符,如下例所示:

Result = (Not A) Or B  'Same as A Imp B 
                       '(True unless A is True and B is False.)

可采用数值操作数中的 Not 和 Or 以相同的方式替换按位 Imp。

请参见

概念

编程元素支持更改总结

参考

And 运算符 (Visual Basic)

AndAlso 运算符

Or 运算符 (Visual Basic)

OrElse 运算符

Not 运算符 (Visual Basic)

Xor 运算符 (Visual Basic)

TimeSpan