Sdílet prostřednictvím


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é

  1. Nastavte Boolean výraz pro otestování těchto dvou objektů.

  2. 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é

  1. Nastavte Boolean výraz pro otestování těchto dvou objektů.

  2. 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

Viz také