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

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [Résolu] [C#] Mettre à jour une List à partir d'une autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] [C#] Mettre à jour une List à partir d'une autre

n°1416184
Roodie
Posté le 30-07-2006 à 23:13:53  profilanswer
 

Bonjour à tous :)
 
J'ai deux listes d'objets bien à moi. Les objets sont des instances de la même classe "myClass" ayant deux propriétés : "id" et "pseudo"
List<myClass> myList1 = ...
List<myClass> myList2 = ...
Mon but est de détecter tous les élements de la liste myList2 qui ont leur "id" qui n'existe pas dans la liste myList1.  
En gros, c'est comme utiliser la méthode List.Contains(), mais sur une propriété de l'objet et non l'objet lui-même.  
 
Je n'arrive pas vraiment à écrire d'algo, et je me demande s'il ne faut pas plutôt que je créer mon propre type de liste (INumerable) et overrider la méthode Contains()... ou qqch comme ça.  
 
Merci bien si vous pouvez m'éclairer, en espérant que j'ai été clair... :)


Message édité par Roodie le 01-08-2006 à 18:56:49
mood
Publicité
Posté le 30-07-2006 à 23:13:53  profilanswer
 

n°1417426
_Mose_
Lonesome coder
Posté le 01-08-2006 à 14:09:05  profilanswer
 

Hmmm.. conceptuellement j'ai du mal à saisir.
Tu as plusieurs instances de myClass qui ont des ID différents ?
Y'as pas un pb dans ta conception objet ?
 
Sinon, pour ce que tu veux faire, utilise plutôt une Hashtable.

Code :
  1. // instancier
  2. Hashtable joe = new Hashtable();
  3. // ajouter une valeur
  4. joe.Add(myobject1.ID, myobject1);
  5. // vérifier qu'elle existe
  6. if(joe.Contains(ID_de_test))
  7.   // récupérer une valeur
  8.   MyClass myobject2 = joe[ID_de_test];

n°1417663
Roodie
Posté le 01-08-2006 à 18:56:26  profilanswer
 

Ah oui, pas bête :)
Ton répond à ma question je pense.  
J'ai aussi trouvé une autre solution en conservant la notion de liste. Qqch comme ça :  

Code :
  1. List<myClass> trouve = new List<myClass>();
  2. foreach (myClass obj in myList1)
  3. {
  4.    if (myList2.Exists(delegate(myClass mType) { return mType.ID == obj.ID; }))
  5.    {
  6.       trouve.Add(myList2.Find(delegate(myClass mType) { return mType.ID == obj.ID; }));
  7.    }
  8. }


...on m'a aidé...
Mici bien à toi :)


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

  [Résolu] [C#] Mettre à jour une List à partir d'une autre

 

Sujets relatifs
[Résolu] [C#.Net] Problème de HiddenField.Value toujours vide[Résolu][C#.Net] Datasource d'un gridView : s'update automatiquement ?
[Résolu] chaine.Contains un élément d'un tableau de chaine ?[Résolu] [C#.net] Sauvegarder un ficher par "FileUpload"
[RESOLU] Probleme SessionRESOLU [PHP]Gestion des sujets
[RESOLU] Info sur les sessions[resolu] problème avec imagefilter()
résolu[VBA]Personnalisation d'une icone depuis VB (resolu)
Plus de sujets relatifs à : [Résolu] [C#] Mettre à jour une List à partir d'une autre


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)