共用方式為


Visual Basic 6.0 使用者可用的布林運算子

更新:2007 年 11 月

為了改善效能,Visual Basic 2008 移除了兩個布林運算子,並新增兩個運算子。

Visual Basic 6.0

在 Visual Basic 6.0 中,布林運算子 (And、Or、Not 和 Xor) 一定會評估其運算元中的所有運算式。

另外您會使用 Eqv 和 Imp 運算子執行兩個運算式的邏輯等價 (Logical Equivalence) 和邏輯隱含式 (Logical Implication)。

Visual Basic 2008

在 Visual Basic 2008 中,And、Or、Not 和 Xor 運算子仍會評估提供給運算元的所有運算式。此外,Visual Basic 2008 也加入了兩個新運算子 AndAlso 和 OrElse,可以透過「最少運算」(Short Circuit) 邏輯評估減少執行時間。如果 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