印刷用ページ       送信     
クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2005
Technical Articles
VB マイグレーション Tips
プログラミング
 IsNot 演算子の利用方法

  低帯域幅での表示をオンにする
IsNot 演算子の利用方法

最終更新日 2005 年 11 月 18 日

download.gifサンプル コードのダウンロード (vbmigtips_IsNot.msi, 481 KB)

※ このサンプルをインストールするには Visual Studio 2005 Beta 2 が必要です。

Visual Basic 2005 では、.NET Framework 2.0 がサポートされたことにより、様々な機能が追加されました。そこで今回は、IsNot 演算子について紹介します。

IsNot 演算子は、Is 演算子と対となる機能です。そのため、これまで Is 演算子と Not 演算子を使用して比較していたコードも直接的に比較が行えるようになります。たとえば、これまでの Viusal Basic 6.0 や Visual Basic .NET では、オブジェクトのインスタンスの比較の際、下記のように記述していました。(下記は Visual Basic 6.0 での実装コードです。)

Dim m_form2 As Form2

Private Sub Form_Load()
    If m_form2 Is Nothing Then
        Set m_form2 = New Form2
    End If
    m_form2.Show
End Sub

Private Sub Command1_Click()
    If Not m_form2 Is Nothing Then
        MsgBox "すでに Form2 が表示されています。"
    End If
End Sub

リスト 1

上記(リスト1)を実装し、[Form2 を開く]ボタンをクリックすると、「すでに Form2 が表示されています。」というメッセージボックスが表示されます(図1)。

 図
 図 1

異なるオブジェクトのインスタンスを比較するコードや、オブジェクトのインスタンスが作成済みかどうかを確認しているリスト1の「If Not m_form2 Is Nothing Then」のように、Visual Basic 6.0 や Visual Basic .NET では、Is 演算子に Not 演算子を使用して比較していました。一方、Visual Basic 2005 では IsNot 演算子が追加されたことにより簡単に直接比較することができるようになりました。リスト1 を Visual Basic 2005 に置き換えると下記のようになります。

Private m_form2 As Form2

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If m_form2 Is Nothing OrElse m_form2.IsDisposed Then
        m_form2 = New Form2
    End If
    m_form2.Show()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If m_form2 IsNot Nothing OrElse m_form2.IsDisposed Then
        MessageBox.Show("すでに Form2 が表示されています。")
    End If
End Sub

リスト 2

上記(リスト2)を実装し、[Form2 を開く]ボタンをクリックすると、図1 のメッセージボックスが表示されます。

このように、IsNot 演算子を使用することで、よりわかりやすくコードの記述が可能となりました。

© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker