J'ai une liste dont j'ai besoin triée par deux champs. J'ai essayé d'utiliser OrderBy dans LINQ mais cela me permet seulement de spécifier un champ. Je cherche la liste à trier par le premier champ et puis s'il y a des doublons dans le premier champ pour trier par le deuxième champ. Par exemple, je veux que les résultats ressemblent à ceci (triés par nom de famille puis prénom).LINQ OrderBy avec plus d'un champ
- Adams, John
- Smith, James
- Smith, Peter
- Thompson, Fred
J'ai vu que vous pouvez utiliser le SQL like syntax to accomplish this mais je suis à la recherche d'un moyen pour le faire avec la méthode OrderBy.
IList<Person> listOfPeople = /*The list is filled somehow.*/
IEnumerable<Person> sortedListOfPeople = listOfPeople.OrderBy(aPerson => aPerson.LastName, aPerson.FirstName); //This doesn't work.
Une explication complète est répertorié ici: http: // weblogs. asp.net/zeeshanhirani/archive/2008/04/16/thenby-operator-part-14.aspx – DigitalNomad
Ceci est Lambda .. LINQ solution besoin @svick l'a dans LINQ. –
Je ne suis pas sûr de ce que vous voulez dire. La syntaxe de requête est juste du sucre pour la syntaxe de la méthode ci-dessus; les deux sont "LINQ". Voir http://msdn.microsoft.com/en-us/library/vstudio/bb397947.aspx Et si vous lisez la question, il demande spécifiquement la version de la syntaxe de la méthode. – tzaman