IsTrue 运算符 (Visual Basic)

确定表达式是否为 True.

不能在代码中显式调用 IsTrue ,但 Visual Basic 编译器可以使用它从 OrElse 子句生成代码。 如果定义类或结构,然后在子句中使用 OrElse 该类型的变量,则必须在该类或结构上定义 IsTrue

编译器将 IsTrueIsFalse 运算符视为 匹配对。 这意味着,如果定义其中一个,还必须定义另一个。

IsTrue 的编译器使用

定义类或结构后,可以在子WhileIfElse If句或子句中使用ForWhen该类型的变量。 如果执行此作,编译器需要将类型转换为 Boolean 值的运算符,以便它可以测试条件。 它按以下顺序搜索合适的运算符:

  1. 将转换运算符从类或结构扩大为 Boolean

  2. 将转换运算符从类或结构扩大为 Boolean?

  3. IsTrue类或结构上的运算符。

  4. 缩小到 Boolean? 该转换不涉及从中 Boolean 转换到 Boolean?的转换。

  5. 将转换运算符从类或结构缩小到 Boolean

如果尚未定义对 BooleanIsTrue 运算符的任何转换,编译器会发出错误信号。

注释

IsTrue可以重载运算符,这意味着当类或结构具有该类或结构的类型时,类或结构可以重新定义其行为。 如果代码对此类或结构使用此运算符,请确保了解其重新定义的行为。 有关详细信息,请参阅 运算符过程

示例:

下面的代码示例定义包含 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

另请参阅