HOW TO:判斷兩個物件是否相同

更新:2007 年 11 月

如果兩個物件的指標相同 (也就是說,如果這兩個變數指向記憶體內的相同類別執行個體),則 Visual Basic 就會將這兩個物件視為相同的物件。例如,您可能想要進行這項比較,藉此判斷目前的執行個體 (Instance) (Me) 和特定執行個體 (如 Form2) 是否相同。

Visual Basic 提供兩種運算子來比較指標。如果物件相同,Is 運算子 (Visual Basic) 會傳回 True;如果物件不相同,則 IsNot 運算子 會傳回 True。

判斷兩個物件是否相同

若要判斷兩個物件是否相同

  1. 設定 Boolean 運算式來測試兩個物件。

  2. 在測試運算式中,使用 Is 運算子,並將兩個物件當做運算元。

    如果這兩個物件指向相同的類別執行個體,則 Is 就會傳回 True。

判斷兩個物件是否不同

有時候您想在兩個物件不同時執行動作,但是將 Not 和 Is 一起使用並不方便,例如 If Not obj1 Is obj2。此時可以使用 IsNot 運算子。

若要判斷兩個物件是否不同

  1. 設定 Boolean 運算式來測試兩個物件。

  2. 在測試運算式中,使用 IsNot 運算子,並將兩個物件當做運算元。

    如果這兩個物件沒有指向相同的類別執行個體,則 IsNot 就會傳回 True。

範例

下列範例會測試各對 Object 變數,藉此檢查這些物件是否指向相同的類別執行個體。

Dim objA, objB, objC as Object
objA = Me
objB = New System.Windows.Forms.Form()
objC = Me
MsgBox("objA different from objB? " & CStr(objA IsNot objB))
MsgBox("objA identical to objC? " & CStr(objA Is objC))

上述範例會顯示下列輸出。

objA different from objB? True

objA identical to objC? True

請參閱

工作

HOW TO:判斷兩個物件是否關聯

概念

Visual Basic 中的物件變數

物件變數值

參考

Object 資料型別

Is 運算子 (Visual Basic)

IsNot 運算子