IsTrue 運算子 (Visual Basic)
判斷運算式是否為 True
。
您無法在程式碼中明確呼叫 IsTrue
,但 Visual Basic 編譯器可以加以使用來從 OrElse
子句產生程式碼。 如果您定義類別或結構,然後在 OrElse
子句中使用該類型的變數,則必須在該類別或結構上定義 IsTrue
。
編譯器會將 IsTrue
和 IsFalse
運算子視為「相符的配對」。 這表示如果您定義其中一個,也必須定義另一個。
IsTrue 的編譯器使用
當您已定義類別或結構時,就可以在 For
、If
、Else If
或 While
陳述式中或是在 When
子句中使用該類型的變數。 如果您這樣做,編譯器需要一個能夠將類型轉換成 Boolean
值的運算子,以便測試條件。 它會依下列順序搜尋適當的運算子:
從您的類別或結構到
Boolean
的放大轉換運算子。從您的類別或結構到
Boolean?
的放大轉換運算子。您類別或結構的
IsTrue
運算子。縮小轉換到
Boolean?
,不包含從Boolean
到Boolean?
的轉換。從您的類別或結構到
Boolean
的縮小轉換運算子。
如果您尚未定義對 Boolean
的任何轉換或 IsTrue
運算子,編譯器會發出錯誤訊號。
注意
IsTrue
運算子可以「多載」,這表示當其運算元具有某個類別或結構的類型時,該類別或結構可以重新定義其行為。 如果您的程式碼在這類類別或結構上使用此運算子,請務必了解其重新定義的行為。 如需詳細資訊,請參閱 Operator Procedures。
範例
下列程式碼範例會定義結構大綱,其中包括 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