共用方式為


布林表示式 (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

Short-Circuiting 運算子

邏輯運算子 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,則程式執行會繼續進行到下一行程式碼而不評估右運算式,因為左運算式已經驗證了整個表達式。

與非Short-Circuiting 運算子的比較

相較之下,當使用邏輯運算符 AndOr 時,邏輯運算符的兩端都會進行評估。 下列範例說明這點。

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

即使左表示式評估為 testFunction(),上述範例仍會呼叫 False

括號表達式

您可以使用括弧來控制布爾表達式評估的順序。 括號括住的表達式會先被評估。 針對多個巢狀層級,會將優先考量給予最深入的巢狀表達式。 在括弧內,評估會根據運算符優先順序的規則進行。 如需詳細資訊,請參閱 Visual Basic中的運算元優先順序

另請參閱