次の方法で共有


IsTrue 演算子 (Visual Basic)

式が True かどうかを調べます。

IsTrue をコードの中で明示的に呼び出すことはできませんが、Visual Basic コンパイラはこれを使用して 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

参照

処理手順

方法: 演算子を定義する (Visual Basic)

関連項目

IsFalse 演算子 (Visual Basic)

OrElse 演算子 (Visual Basic)