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
Configurare un'espressione
Boolean
per testare i due oggetti.Nell'espressione di test usare l'operatore
Is
con i due oggetti come operandi.Is
restituisceTrue
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
Configurare un'espressione
Boolean
per testare i due oggetti.Nell'espressione di test usare l'operatore
IsNot
con i due oggetti come operandi.IsNot
restituisceTrue
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