Share via


HOW TO:判斷兩個物件是否相同 (Visual Basic)

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

Visual Basic 提供兩種運算子來比較指標。 如果物件相同,Is 運算子 (Visual Basic) 會傳回 True;如果物件不相同,則 IsNot 運算子 (Visual Basic) 會傳回 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 = My.User
objB = New ApplicationServices.User
objC = My.User
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 運算子 (Visual Basic)

概念

Visual Basic 中的物件變數

物件變數值 (Visual Basic)

Visual Basic 中的 Me、My、MyBase 和 MyClass