Procedura: determinare se due oggetti sono identici (Visual Basic)

In Visual Basic due riferimenti a variabili vengono considerati identici se i relativi puntatori sono uguali, ovvero se entrambe le variabili puntano alla stessa istanza della classe in memoria. In Windows Forms Application, ad esempio, è possibile eseguire un confronto per determinare se l'istanza corrente (Me) è uguale a un'istanza specifica, ad esempio Form2.

Visual Basic fornisce due operatori per confrontare i puntatori. L'Operatore Is restituisce True se gli oggetti sono identici e l'Operatore IsNot restituisce True se non lo sono.

Determinare se due oggetti sono identici

Per determinare se due oggetti sono identici

  1. Configurare un'espressione Boolean per testare i due oggetti.

  2. Nell'espressione di test usare l'operatore Is con i due oggetti come operandi.

    Is restituisce True se gli oggetti puntano alla stessa istanza della classe.

Determinare se due oggetti non sono identici

A volte si vuole eseguire un'azione se i due oggetti non sono identici e può risultare difficile combinare Not e Is, ad esempio If Not obj1 Is obj2. In questo caso è possibile usare l'operatore IsNot.

Per determinare se due oggetti non sono identici

  1. Configurare un'espressione Boolean per testare i due oggetti.

  2. Nell'espressione di test usare l'operatore IsNot con i due oggetti come operandi.

    IsNot restituisce True se gli oggetti non puntano alla stessa istanza della classe.

Esempio

Nell'esempio seguente vengono testate coppie di variabili Object per verificare se puntano alla stessa istanza della classe.

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

Nell'esempio precedente viene visualizzato l'output seguente.

objA different from objB? True

objA identical to objC? True

Vedi anche