共用方式為


IsTrue 運算子 (Visual Basic)

判斷運算式是否為 True

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

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

IsTrue 的編譯器使用

當您已定義類別或結構時,就可以在 ForIfElse IfWhile 陳述式中或是在 When 子句中使用該類型的變數。 如果您這樣做,編譯器需要一個能夠將類型轉換成 Boolean 值的運算子,以便測試條件。 它會依下列順序搜尋適當的運算子:

  1. 從您的類別或結構到 Boolean 的放大轉換運算子。

  2. 從您的類別或結構到 Boolean? 的放大轉換運算子。

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

  4. 縮小轉換到 Boolean?,不包含從 BooleanBoolean? 的轉換。

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

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

注意

IsTrue 運算子可以「多載」,這表示當其運算元具有某個類別或結構的類型時,該類別或結構可以重新定義其行為。 如果您的程式碼在這類類別或結構上使用此運算子,請務必了解其重新定義的行為。 如需詳細資訊,請參閱 Operator Procedures

範例

下列程式碼範例會定義結構大綱,其中包括 IsFalseIsTrue 運算子的定義。

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

另請參閱