Comparer 2 objets contenant des valeurs identiques

Résolu
Signaler
Messages postés
119
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
28 avril 2008
-
Messages postés
14833
Date d'inscription
vendredi 14 mars 2003
Statut
Non membre
Dernière intervention
7 décembre 2021
-
Bonjour,
Voici le code puis viendra la question :

' personne = (nom, prénom, âge)
dim objPersonne1 = new personne ("NAPHAR", "Henri", 34)
dim objPersonne2 = new personne ("NAPHAR", "Henri", 34)

J'aimerais savoir si il existe une commande qui puisse vérifier si les 2 objets ont les mêmes valeurs et non les mêmes références.

j'ai bien testé 3 trucs sans y croire :
1) if objPersonne1 is objPersonne2 --> false
2) msgbox(Equals (objPersonne1,objPersonne2)) --> renvoie false
3) msgbox(ReferenceEquals (objPersonne1,objPersonne2)) --> renvoie false

Et ça c'est bien confirmé : seules les références (adresses) sont comparées

D'avance, merci.
_____________________________________________________________
Coder et coder sont 2 choses différentes. La 1ère consiste à arriver au but coûte que coûte. La 2nde est de trouver la solution de manière élégante.

4 réponses

Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
Salut juste une idée en passant.
Tu pourais copier la valeur de la mémoire (en utilisant l'API copymemory) dans un type string (ATTENTION de définir la taille de ce string avant la copie) et comparer les deux string. Si elle sont égale c'est que les valeurs en mémoire sont identique.
Aucune idée si sa fonctionnera réellement mais je pense qu'il y à possibilité de faire un truc du genre

Amicalement
Pensez "Réponse acceptée"
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
En .NET il me semble qu'il est possible de surcharger l'opérateur =   non?
pour te permettre du coup de faire ce que tu souhaites.

<hr size ="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
Messages postés
119
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
28 avril 2008

Merci vous 2. J'aurais du penser que, comme chaque objet est différent, une méthode générique n'eu été pas possible.

_____________________________________________________________
Coder et coder sont 2 choses différentes. La 1ère consiste à arriver au but coûte que coûte. La 2nde est de trouver la solution de manière élégante.
Messages postés
14833
Date d'inscription
vendredi 14 mars 2003
Statut
Non membre
Dernière intervention
7 décembre 2021
157
Bonjour

Possibilité de surcharger Equals aussi.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site