Sdílet prostřednictvím


Jak: zjistit, zda jsou dva objekty identické (Visual Basic)

V Visual Basic, odkazy na dvě proměnné jsou považovány za shodné, pokud jejich ukazatele jsou stejné, je-li obě proměnné přejděte do stejné instance třídy v paměti.Například v aplikaci model Windows Forms, můžete chtít provést porovnání k určení, zda aktuální instance (Me) je stejný jako konkrétní instanci jako Form2.

Visual Basicobsahuje dva operátory porovnání ukazatelů.Operátor (Visual Basic) Vrátí True Pokud jsou identické, objekty a Operátor IsNot (Visual Basic) vrátí True nejsou.

Určení, pokud jsou identické dva objekty

K určení, zda jsou dva objekty identické

  1. Nastavit Boolean výraz test dvou objektů.

  2. Do testování výrazu použít Is s dvěma objekty jako operandů operátor.

    IsVrátí True pokud bod objekty do stejné instance třídy.

Určení, pokud dva objekty nejsou shodné

Někdy chcete provést akci, pokud dva objekty nejsou shodné, a může být nevhodných kombinovat Not a Is, například If Not obj1 Is obj2.V takovém případě můžete použít IsNot operátor.

Určení, pokud dva objekty nejsou shodné

  1. Nastavit Boolean výraz test dvou objektů.

  2. Do testování výrazu použít IsNot s dvěma objekty jako operandů operátor.

    IsNotVrátí True Pokud objekty se neodkazují na stejnou instanci třídy.

Příklad

Následující příklad testuje páry Object proměnné, pokud odkazují na stejnou instanci třídy.

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))

V předchozím příkladu zobrazí následující výstup.

objA different from objB? True

objA identical to objC? True

Viz také

Úkoly

Jak: zjistit, zda jsou spojeny dva objekty (Visual Basic)

Referenční dokumentace

Datový typ objektu

Operátor (Visual Basic)

Operátor IsNot (Visual Basic)

Koncepty

Objektové proměnné v jazyce Visual Basic

Objekt hodnoty proměnných (Visual Basic)

Mi, My, MyBase a MyClass v jazyce Visual Basic