bonjour,
Je suis toujours dans mes tris avec Linq. Mon code fonctionne mais je le trouve pas très joli. Je pense que l'on peut l'exprimer de façon plus propre.
La collection à trier est de type List<ExternalData>. ExternalData est une classe de base abstraite. Dans mon cas, j'utilise la classe dérivée ExternalAnimal pour trier (pour les tests selon l'ID ou le nom et plus tard la date de naissance ou je ne sais quoi).
Le diagramme de classes ressemble à ça :
Ce code là permet de lister de manière unique toutes les races et de les retourner dans List<string> et de les trier par ordre croissant :
Donc j'ai cette autre requête qui fonctionner presque comme la précédente :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var qry7 = this.Collection.Select(p => ((ExternalAnimal)p).Breed1).Distinct().ToList(); qry7.Sort();
à l'exception de .OrderBy que je n'arrive pas à définir pour que ça compile. C'est probablement une bricole mais là vu l'heure, je fatigue et je tourne en rond
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 var qry3 = this.Collection .Select(p => ((ExternalAnimal)p).Breed1) .Distinct() .ToList();
Merci.
Partager