ArrayList d'OBJET -> Supprimer doublons [DOTNET] - C#/.NET managed - Programmation
Marsh Posté le 12-07-2008 à 20:23:36
Oui autant pour moi , je m'en étais rendu compte et oublié de le poster
J'ai bien ajouté override de la même manière que toi, mais rien à faire les doublons ne dégage pas, sa en devient inquiétant
Marsh Posté le 12-07-2008 à 20:26:39
Mais qu'est ce que je suis con !
C'est tout simplement que je faisait le mauvais traitement dans mon equals
Je viens de perdre 2heures pour rien
J'espere au moins que sa pourrais en aidé d'autre
Thx
Marsh Posté le 13-07-2008 à 20:51:24
attention de bien reféfinir Equals et GetHashCode, sinon ça reste dangereux.
Marsh Posté le 13-07-2008 à 22:03:11
Si je ne redéfinit pas GetHashCode quel sont les conséquences ?
Marsh Posté le 14-07-2008 à 10:43:20
c'est .NET qui décide comment il implémente cette méthode.
Dans le cas ou tu ajoutes tes propres objets à la collection, c'est ultra foireux. C'est ultra conseillé de fournir son implémentation sur base des datas contenu dans ton objet afin d'être sûre de pouvoir identifier clairement un doublon.
Marsh Posté le 15-07-2008 à 14:10:54
ReplyMarsh Posté le 15-07-2008 à 17:43:33
euh la tu me fais hésité. Je crois que les deux peuves être utilisés.
Marsh Posté le 15-07-2008 à 18:40:43
MagicBuzz a écrit : Faut pas implémenter IComparable et utiliser plutôt Compare() ? |
La I. La bidouille de "si y a compare ça suffit", c'est bien à l'image de .net.
La version generics bien sur.
Marsh Posté le 16-07-2008 à 11:26:58
je viens de vérifier mes bouquins, les deux fonctionnent.
Marsh Posté le 16-07-2008 à 11:41:52
moi23372 a écrit : je viens de vérifier mes bouquins, les deux fonctionnent. |
oui mais c'est un peu ça le problème: y a pas trop de raison pour cette bidouille de "s'il y a un compareTo..."
Marsh Posté le 12-07-2008 à 19:25:47
Bonjour
J'ai pas mal chercher sur google, et dans ma petite tête mais je bute sur ce problème
J'ai une Arraylist d'objet et j'aimerais supprimer les doublons en la mettant dans une autre par exemple
Cependant Impossible d'y arrivé, j'ai tenter la méthode avec Arraylist.Contains, en redefinissant le Equals mais sa ne marche toujours pas
Voici le bout de code :
Et dans la classe Carte
Il m'ajoute tout les élements de main_final dans main_final_unique qu'ils soit identiques ou pas (même attributs valeur)
Je ne comprend vraiment pas