Delen via


Procedure: bepalen of twee objecten identiek zijn (Visual Basic)

In Visual Basic worden twee variabeleverwijzingen als identiek beschouwd als hun aanwijzers hetzelfde zijn, dat wil gezegd, als beide variabelen verwijzen naar hetzelfde klasse-exemplaar in het geheugen. In een Windows Forms-toepassing wilt u bijvoorbeeld een vergelijking maken om te bepalen of het huidige exemplaar (Me) hetzelfde is als een bepaald exemplaar, zoals Form2.

Visual Basic biedt twee operators voor het vergelijken van aanwijzers. De operator Is retourneert als de objecten identiek zijn en de IsNot-operator retourneert TrueTrue als dat niet het is.

Bepalen of twee objecten identiek zijn

Bepalen of twee objecten identiek zijn

  1. Stel een Boolean expressie in om de twee objecten te testen.

  2. Gebruik in de testexpressie de Is operator met de twee objecten als operanden.

    Is retourneert True als de objecten verwijzen naar hetzelfde klasse-exemplaar.

Bepalen of twee objecten niet identiek zijn

Soms wilt u een actie uitvoeren als de twee objecten niet identiek zijn en het kan lastig zijn om te combineren Not en Is, bijvoorbeeld If Not obj1 Is obj2. In dat geval kunt u de IsNot operator gebruiken.

Bepalen of twee objecten niet identiek zijn

  1. Stel een Boolean expressie in om de twee objecten te testen.

  2. Gebruik in de testexpressie de IsNot operator met de twee objecten als operanden.

    IsNot retourneert True als de objecten niet verwijzen naar hetzelfde klasse-exemplaar.

Opmerking

In het volgende voorbeeld worden paren van Object variabelen getest om te zien of ze verwijzen naar hetzelfde klasse-exemplaar.

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

In het voorgaande voorbeeld wordt de volgende uitvoer weergegeven.

objA different from objB? True

objA identical to objC? True

Zie ook