HOW TO:判斷兩個物件是否相同
更新:2007 年 11 月
如果兩個物件的指標相同 (也就是說,如果這兩個變數指向記憶體內的相同類別執行個體),則 Visual Basic 就會將這兩個物件視為相同的物件。例如,您可能想要進行這項比較,藉此判斷目前的執行個體 (Instance) (Me) 和特定執行個體 (如 Form2) 是否相同。
Visual Basic 提供兩種運算子來比較指標。如果物件相同,Is 運算子 (Visual Basic) 會傳回 True;如果物件不相同,則 IsNot 運算子 會傳回 True。
判斷兩個物件是否相同
若要判斷兩個物件是否相同
設定 Boolean 運算式來測試兩個物件。
在測試運算式中,使用 Is 運算子,並將兩個物件當做運算元。
如果這兩個物件指向相同的類別執行個體,則 Is 就會傳回 True。
判斷兩個物件是否不同
有時候您想在兩個物件不同時執行動作,但是將 Not 和 Is 一起使用並不方便,例如 If Not obj1 Is obj2。此時可以使用 IsNot 運算子。
若要判斷兩個物件是否不同
設定 Boolean 運算式來測試兩個物件。
在測試運算式中,使用 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