方法 : 2 つのオブジェクトが等しいかどうかをテストする

更新 : 2007 年 11 月

オブジェクトを参照する 2 つの変数がある場合は、Is または IsNot 演算子、またはその両方を使用して、2 つの変数が同じインスタンスを参照しているかどうかを確認できます。

2 つのオブジェクトが等しいかどうかをテストするには

  • 2 つの変数をオペランドとして、Is 演算子 (Visual Basic) または IsNot 演算子を使用します。

    Public Sub processControl(ByVal f As System.Windows.Forms.Form, _
        ByVal c As System.Windows.Forms.Control)
        Dim active As System.Windows.Forms.Control = f.ActiveControl
        If (active IsNot Nothing) And (c Is active) Then
            ' Insert code to process control c
        End If
        Return
    End Sub
    

2 つのオブジェクトが同じインスタンスを参照しているかどうかに応じて、特定のアクションを実行することがあります。前述の例では、c というコントロールをフォーム f 上のアクティブなコントロールと比較しています。アクティブなコントロールがない場合、またはアクティブなコントロールが c と同じインスタンスでない場合は、If ステートメントが失敗し、プロシージャはこれ以上の処理を行わずに制御を返します。

Is と IsNot のどちらを使用するかは、個人的な好みの問題です。一部の式では、どちらかの方が他方より読みやすいコードになることがあります。

参照

概念

Visual Basic における比較演算子