Aujourd'hui nous allons apprendre à trier une liste (youpi). Il y a encore de ça quelques temps, lorsque l'on souhaitait trier un tableau on employait les célèbres techniques de triage (trie à bulle, trie par sélection, trie par insertion pour ne citer qu'eux.) Ces algorithmes étaient ma foi fort pratique mais un peu long à écrire (plus d'info). Maintenant avec Microsoft .Net c'est fini ! On utilise une liste typé et dedans ya plein de jolies méthodes pour faire le boulot. On peut trier et filtrer en une seule ligne. La preuve en exemple :
Imaginons une classe Personne ayant un attribut "dateNaissance". On peut créer une liste de personne :
Imaginons une classe Personne ayant un attribut "dateNaissance". On peut créer une liste de personne :
ListEt voilà votre liste de personne est maintenant triée par date de naissance. Imaginons maintenant que l'on souhaite récupérer toutes les personnes ayant plus de 70 ans :maListe;
// On veut trier par date de naissance les personnes dans la liste :
maListe.Sort(delegate(Personne p1, Personne p2)
{
return p1.dateNaissance.CompareTo(p2.dateNaissance);
}
Plutôt simple non ?
ListmaListeDeVieux = maListe.FindAll(delegate(Personne p)
{ return p.age > 70; });
2 commentaires:
j'ai rien compris mais bon je suis sure que cette article est très intéressant...
Mais il faut expliquer aussi se qu'est un "delegate" sinon personne va comprendre ^^.
Et si on couple tous ca avec un yield, la ca devient très puissant. Mais peut être que nous verrons ca dans un autre article.
Merci toto ;)
Enregistrer un commentaire