次の方法で共有


IsTrue 演算子 (Visual Basic)

式が Trueされているかどうかを判断します。

コードで IsTrue を明示的に呼び出すことはできませんが、Visual Basic コンパイラはそれを使用して、 OrElse 句からコードを生成できます。 クラスまたは構造体を定義し、その型の変数を OrElse 句で使用する場合は、そのクラスまたは構造体に IsTrue を定義する必要があります。

コンパイラは、 IsTrue 演算子と IsFalse 演算子を 一致したペアと見なします。 つまり、そのうちの 1 つを定義する場合は、もう 1 つも定義する必要があります。

IsTrue のコンパイラの使用

クラスまたは構造体を定義したら、その型の変数を ForIfElse If、または While ステートメント、または When 句で使用できます。 これを行う場合、コンパイラには、条件をテストできるように型を Boolean 値に変換する演算子が必要です。 次の順序で適切な演算子を検索します。

  1. クラスまたは構造体から Booleanへの拡大変換演算子。

  2. クラスまたは構造体から Boolean?への拡大変換演算子。

  3. クラスまたは構造体の IsTrue 演算子。

  4. BooleanからBoolean?への変換を伴わないBoolean?への縮小変換。

  5. クラスまたは構造体から Booleanへの縮小変換演算子。

BooleanまたはIsTrue演算子への変換を定義していない場合、コンパイラはエラーを通知します。

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

こちらも参照ください