Partager via


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

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

Object, type de données

Is, opérateur (Visual Basic)

Opérateur IsNot (Visual Basic)

Concepts

Variables objet dans Visual Basic

Valeurs des variables objets (Visual Basic)

Me, My, MyBase et MyClass dans Visual Basic