布林運算式 (Visual Basic)

布林運算式是計算結果為布林資料類型值的運算式:TrueFalseBoolean 運算式可以有多種形式。 最簡單的方式是直接比較Boolean變數的值與Boolean常值,如下列範例所示。

If newCustomer = True Then
    ' Insert code to execute if newCustomer = True.
Else
    ' Insert code to execute if newCustomer = False.
End If

= 運算子的兩個意義

請注意,指派陳述式newCustomer = True看起來與上述範例中的運算式相同,但它會執行不同的函式,且使用方式不同。 在上述範例中,運算式newCustomer = True代表布林值,而=符號會解譯為比較運算子。 在獨立陳述式中,=符號會解譯為指派運算子,並將右邊的值指派給左邊的變數。 說明如下例。

If newCustomer = True Then
    newCustomer = False
End If

如需詳細資訊,請參閱值比較陳述式

比較運算子

像是=<><><=>=的比較運算子,會比較運算子左邊的運算式與運算子右邊的運算式,並計算結果為TrueFalse,以產生布林運算式。 說明如下例。

42 < 81

因為 42 小於 81,所以上述範例中的布林運算式會計算結果為True。 如需這類運算式的詳細資訊,請參閱數值比較

與邏輯運算子結合的比較運算子

您可以使用邏輯運算子來合併比較運算式,以產生更複雜的布林運算式。 下列範例示範搭配邏輯運算子使用比較運算子。

x > y And x < 1000

在上述範例中,整體運算式的值取決於And運算子各端運算式的值。 如果這兩個運算式都是True,則整體運算式會計算結果為True。 如果任一運算式為False,則整個運算式會計算結果為False

最少運算運算子

邏輯運算子AndAlsoOrElse展現出稱為最少運算的行為。 最少運算運算子會先計算左邊的運算元。 如果左邊運算元決定整個運算式的值,則程式執行會繼續進行,不需要計算右邊的運算式。 說明如下例。

If 45 < 12 AndAlso testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

在上述範例中,運算子會計算左邊的運算式45 < 12。 由於左邊運算式計算結果為False,所以整個邏輯運算式必須計算結果為False。 程式執行會因此略過 If 區塊內程式碼的執行,不需要計算右邊的運算式 testFunction(3)。 這個範例不會呼叫testFunction(),因為左邊運算式會假造整個運算式。

同理,如果使用OrElse的邏輯運算式中的左邊運算式計算結果為True,則會繼續執行下一行程式碼,不需要計算右邊的運算式,因為左邊的運算式已經驗證整個運算式。

與非最少運算運算子比較

相較之下,使用邏輯運算子AndOr時,會計算邏輯運算子的兩邊。 說明如下例。

If 45 < 12 And testFunction(3) = 81 Then
    ' Add code to continue execution.
End If

即使左邊運算式計算結果為False,上述範例仍會呼叫testFunction()

括號運算式

您可以使用括弧來控制布林運算式的計算順序。 括弧括住的運算式會先計算。 針對多個巢狀層級,優先順序會授予最深的巢狀運算式。 在括弧內,會根據運算子優先順序的規則來繼續計算。 如需詳細資訊,請參閱 Visual Basic 中的運算子優先順序

另請參閱