Comment : déterminer si deux objets sont identiques

Mise à jour : novembre 2007

Visual Basic considère deux objets comme étant identiques si leurs pointeurs sont les mêmes, à savoir, si les deux variables pointent vers la même instance de classe en mémoire. Vous souhaiterez peut-être effectuer cette comparaison, par exemple pour déterminer si l'instance actuelle (Me) est la même qu'une instance particulière, telle que Form2.

Visual Basic fournit deux opérateurs pour comparer des pointeurs. L'Is, opérateur (Visual Basic) retourne la valeur True si les objets sont identiques et l'IsNot, opérateur retourne la valeur True dans le cas contraire.

Comment déterminer si deux objets sont identiques

Pour déterminer si deux objets sont identiques

  1. Configurez une expression Boolean pour tester les deux objets.

  2. 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

  1. Configurez une expression Boolean pour tester les deux objets.

  2. 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 = Me
objB = New System.Windows.Forms.Form()
objC = Me
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

Concepts

Variables objet dans Visual Basic

Valeurs des variables objets

Référence

Object, type de données

Is, opérateur (Visual Basic)

IsNot, opérateur