IsTrue 運算子 (Visual Basic)

判斷運算式是否為 True。

您無法在程式碼中明確呼叫 IsTrue,但 Visual Basic 編譯器 (Compiler) 可利用它從 OrElse 子句產生程式碼。 如果定義類別或結構,然後在 OrElse 子句中使用該型別的變數,則必須在該類別或結構上定義 IsTrue。

編譯器會將 IsTrue 和 IsFalse 運算子視為「相符的配對」。 這表示如果定義其中一個,也必須定義另一個。

IsTrue 的編譯器用途

定義類別或結構後,可在 For、If、Else If 或 While 陳述式中,或在 When 子句中,使用該型別的變數。 如果您這麼做,編譯器會要求運算子將型別轉換成 Boolean 值,如此它才能測試條件。 它會依下列順序搜尋適當的運算子:

  1. 從類別或結構至 Boolean 的擴展轉換運算子。

  2. 從類別或結構至 Boolean? 的擴展轉換運算子。

  3. 類別或結構上的 IsTrue 運算子。

  4. 不涉及從 Boolean 到 Boolean? 之轉換的 Boolean? 縮小轉換。

  5. 從類別或結構至 Boolean 的縮小轉換運算子。

如果您尚未定義任何 Boolean 轉換,或 IsTrue 運算子,編譯器會發出錯誤信號。

注意事項注意事項

IsTrue 運算子可以「多載」,也就是,當運算元具備類別或結構的類型時,該類別或結構就可以重新定義其行為。如果您的程式碼在這種類別或結構上使用此運算子,就一定要先瞭解其重新定義的行為。如需詳細資訊,請參閱 運算子程序 (Visual Basic)

範例

下列程式碼範例所定義的結構大綱包含 IsFalse 和 IsTrue 運算子的定義。

Public Structure p
    Dim a As Double
    Public Shared Operator IsFalse(ByVal w As p) As Boolean
        Dim b As Boolean
        ' Insert code to calculate IsFalse of w.
        Return b
    End Operator
    Public Shared Operator IsTrue(ByVal w As p) As Boolean
        Dim b As Boolean
        ' Insert code to calculate IsTrue of w.
        Return b
    End Operator
End Structure

請參閱

工作

HOW TO:定義運算子 (Visual Basic)

參考

IsFalse 運算子 (Visual Basic)

OrElse 運算子 (Visual Basic)