Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1442 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [DOTNET] ArrayList d'OBJET -> Supprimer doublons

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DOTNET] ArrayList d'OBJET -> Supprimer doublons

n°1758822
massanu
Posté le 12-07-2008 à 19:25:47  profilanswer
 

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 :
 

Code :
  1. ArrayList main_finale_unique = new ArrayList();
  2. foreach (Carte c2 in main_finale)
  3.             {
  4.                 if (!main_finale_unique.Contains(c2))
  5.                 {
  6.                     main_finale_unique.Add(c2);
  7.                 }
  8.             }


 
Et dans la classe Carte
 

Code :
  1. public bool equals(Object obj)
  2.            {
  3.                return this._valeur == ((Carte)obj).getValeur();
  4.            }


 
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 :/

mood
Publicité
Posté le 12-07-2008 à 19:25:47  profilanswer
 

n°1758845
massanu
Posté le 12-07-2008 à 20:23:36  profilanswer
 

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

n°1758846
massanu
Posté le 12-07-2008 à 20:26:39  profilanswer
 

Mais qu'est ce que je suis con !
 
C'est tout simplement que je faisait le mauvais traitement dans mon equals :lol:
 
Je viens de perdre 2heures pour rien :p
 
J'espere au moins que sa pourrais en aidé d'autre ;)
 
Thx :jap:

n°1759082
moi23372
Posté le 13-07-2008 à 20:51:24  profilanswer
 

attention de bien reféfinir Equals et GetHashCode, sinon ça reste dangereux.

n°1759098
massanu
Posté le 13-07-2008 à 22:03:11  profilanswer
 

Si je ne redéfinit pas GetHashCode quel sont les conséquences ? :??:

n°1759156
moi23372
Posté le 14-07-2008 à 10:43:20  profilanswer
 

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.

n°1759161
massanu
Posté le 14-07-2008 à 12:41:41  profilanswer
 

Ha ok merci :jap:

n°1759606
MagicBuzz
Posté le 15-07-2008 à 14:10:54  profilanswer
 

Faut pas implémenter IComparable et utiliser plutôt Compare() ?

n°1759803
moi23372
Posté le 15-07-2008 à 17:43:33  profilanswer
 

euh la tu me fais hésité. Je crois que les deux peuves être utilisés.


Message édité par moi23372 le 15-07-2008 à 17:46:21
n°1759903
Taz
bisounours-codeur
Posté le 15-07-2008 à 18:40:43  profilanswer
 

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.


Message édité par Taz le 15-07-2008 à 18:42:03
mood
Publicité
Posté le 15-07-2008 à 18:40:43  profilanswer
 

n°1760171
moi23372
Posté le 16-07-2008 à 11:26:58  profilanswer
 

je viens de vérifier mes bouquins, les deux fonctionnent.


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
n°1760180
Taz
bisounours-codeur
Posté le 16-07-2008 à 11:41:52  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [DOTNET] ArrayList d'OBJET -> Supprimer doublons

 

Sujets relatifs
[DOTNET] Probleme improbable de RandomSérialiser un objet contenant des objets.
Déplacer une image dans un objet Timagearraylist : recherche performante
Erreur Programmation Objet PHP 5VBA Excel Supprimer des lignesl
supprimer un élément de ma table de stringVBA Word : supprimer les pages blanches
Supprimer pièce jointe d'un fichier outlook en vbsImpossible de supprimer ces caractères : 
Plus de sujets relatifs à : [DOTNET] ArrayList d'OBJET -> Supprimer doublons


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR