Dela via


Anvisningar: Avgöra om två objekt är identiska (Visual Basic)

I Visual Basic anses två variabelreferenser vara identiska om deras pekare är desamma, dvs. om båda variablerna pekar på samma klassinstans i minnet. I ett Windows Forms-program kanske du till exempel vill göra en jämförelse för att avgöra om den aktuella instansen (Me) är samma som en viss instans, till exempel Form2.

Visual Basic innehåller två operatorer för att jämföra pekare. Is Operator returnerar True om objekten är identiska och IsNot-operatorn returnerar True om de inte är det.

Avgöra om två objekt är identiska

Så här avgör du om två objekt är identiska

  1. Konfigurera ett Boolean uttryck för att testa de två objekten.

  2. I testuttrycket använder du operatorn Is med de två objekten som operander.

    Is returnerar True om objekten pekar på samma klassinstans.

Avgöra om två objekt inte är identiska

Ibland vill du utföra en åtgärd om de två objekten inte är identiska och det kan vara besvärligt att kombinera Not och Is, till exempel If Not obj1 Is obj2. I så fall kan du använda operatorn IsNot .

Så här avgör du om två objekt inte är identiska

  1. Konfigurera ett Boolean uttryck för att testa de två objekten.

  2. I testuttrycket använder du operatorn IsNot med de två objekten som operander.

    IsNot returnerar True om objekten inte pekar på samma klassinstans.

Exempel

I följande exempel testas par med Object variabler för att se om de pekar på samma klassinstans.

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

I föregående exempel visas följande utdata.

objA different from objB? True

objA identical to objC? True

Se även