supposons que j'ai des collections d'objets. on va dire des collections Classe, contenant des objets Eleve.
J'aimerai savoir comment le plus simplement et le plus proprement savoir si une class contient tel ou tel élève selon le nom de cette eleve.
Actuellement, je fais
Sauf que ceci n'est p-e pas la manière la plus propre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 foreach(Eleve elv in Class) if( elv.Nom = "toto") return true;
Maintenant, au lieu d'avoir Class heritant de CollectionBase, je l'ai fait heriter de List ce qui me donne plein de méthode marrantes.
Contains, Exists, Find, etc
Eleve peut avoir plusieurs propriétés: nom, prenom, etc
et donc je ne pense pas pouvoir utiliser .Contains.
Par contre, Exists qui prend un prédicat plus avancé pourrait marcher. Mais voilà. J'ai un peu de mal avec cette notion.
de ce que je comprend, je dois faire
Déjà, est-ce réellement plus propre? Ensuite, comment rendre "toto" dynamique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 return Class.Exists(monpredicat); ... private static bool monpredicat(Eleve elv) { return (elv.Nom.Equals("toto"))? true: false; }
en gros quelque chose comme
Je découvre totalement ce genre de choses. Mais comme je n'ai jamais utilisé bcp des fonctionnalités des collections, je me dis qu'il est p-e temps de voir ce qu'on peut faire ou non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 return Class.Exists(monpredicat("toto")); ... private static bool monpredicat(Eleve elv, object nom)
merci d'avance à ceux qui pourront éclairer ma faible lanterne![]()
Partager