Comment : déterminer si deux objets sont identiques (Visual Basic)
En Visual Basic, deux références de variable sont considérées comme identiques si leurs pointeurs sont semblables, c'est-à-dire si les deux variables pointent vers la même instance de classe en mémoire. Par exemple, dans une application Windows Forms, vous pouvez effectuer une comparaison afin de déterminer si l'instance actuelle Me est identique à une instance particulière, telle que Form2.
Visual Basic fournit deux opérateurs pour comparer des pointeurs. Is, opérateur (Visual Basic) retourne la valeur True si les objets sont identiques et Opérateur IsNot (Visual Basic) retourne la valeur True dans le cas contraire.
Comment déterminer si deux objets sont identiques
Pour déterminer si deux objets sont identiques
Configurez une expression Boolean pour tester les deux objets.
Dans votre expression de test, utilisez l'opérateur Is avec les deux objets comme opérandes.
Is retourne True si les objets pointent vers la même instance de classe.
Comment déterminer si deux objets ne sont pas identiques
Vous souhaitez parfois exécuter une action si les deux objets ne sont pas identiques, mais il peut être délicat de combiner Not et Is, par exemple If Not obj1 Is obj2. Dans ce cas, vous pouvez utiliser l'opérateur IsNot.
Pour déterminer si deux objets ne sont pas identiques
Configurez une expression Boolean pour tester les deux objets.
Dans votre expression de test, utilisez l'opérateur IsNot avec les deux objets comme opérandes.
IsNot retourne True si les objets ne pointent pas vers la même instance de classe.
Exemple
L'exemple suivant teste des paires de variables Object pour vérifier si elles pointent vers la même instance de 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))
L'exemple précédent affiche la sortie suivante.
objA different from objB? True
objA identical to objC? True
Voir aussi
Tâches
Comment : déterminer si deux objets sont liés (Visual Basic)
Référence
Opérateur IsNot (Visual Basic)
Concepts
Variables objet dans Visual Basic