Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 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 použít operátor 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