Postupy: Určení, zda dva objekty jsou identické (Visual Basic).
V jazyce Visual Basic jsou dva odkazy na proměnné považovány za identické, pokud jsou jejich ukazatele stejné, to znamená, že pokud obě proměnné odkazují na stejnou instanci třídy v paměti. Například v aplikaci model Windows Forms můžete chtít provést porovnání, abyste zjistili, jestli je aktuální instance (Me
) stejná jako konkrétní instance, například Form2
.
Visual Basic poskytuje dva operátory pro porovnání ukazatelů. Is Operator vrátí True
, pokud jsou objekty identické a IsNot Operator vrátí True
, pokud nejsou.
Určení, jestli jsou dva objekty identické
Určení, jestli jsou dva objekty identické
Nastavte
Boolean
výraz pro otestování těchto dvou objektů.Ve testovacím výrazu
Is
použijte operátor se dvěma objekty jako operandy.Is
vrátíTrue
, pokud objekty odkazují na stejnou instanci třídy.
Určení, jestli dva objekty nejsou identické
Někdy chcete provést akci, pokud tyto dva objekty nejsou identické, a může to být nepříjemné zkombinovat Not
a Is
, například If Not obj1 Is obj2
. V takovém případě můžete operátor použít IsNot
.
Určení, jestli dva objekty nejsou identické
Nastavte
Boolean
výraz pro otestování těchto dvou objektů.Ve testovacím výrazu
IsNot
použijte operátor se dvěma objekty jako operandy.IsNot
vrátíTrue
, pokud objekty neodkazují na stejnou instanci třídy.
Příklad
Následující příklad testuje páry proměnných Object
a zjistí, jestli 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))
Předchozí příklad zobrazí následující výstup.
objA different from objB? True
objA identical to objC? True