Ich habe eine Liste, die ich nach zwei Feldern sortiert habe. Ich habe versucht, OrderBy in LINQ zu verwenden, aber das erlaubt mir nur, ein Feld anzugeben. Ich suche nach der Liste, die nach dem ersten Feld sortiert werden soll und dann, wenn im ersten Feld Duplikate vorhanden sind, nach dem zweiten Feld zu sortieren.LINQ OrderBy mit mehr als einem Feld
Zum Beispiel möchte ich die Ergebnisse so aussehen (sortiert nach Nachname dann Vorname).
- Adams, John
- Smith, James
- Smith, Peter
- Thompson, Fred
Ich habe gesehen, dass Sie die SQL like syntax to accomplish this verwenden können, aber ich bin auf der Suche nach einem Weg, um es mit der OrderBy-Methode zu tun.
IList<Person> listOfPeople = /*The list is filled somehow.*/
IEnumerable<Person> sortedListOfPeople = listOfPeople.OrderBy(aPerson => aPerson.LastName, aPerson.FirstName); //This doesn't work.
Eine vollständige Erklärung hier aufgeführt wird: http: // weblogs. asp.net/zeeshanhirani/archive/2008/04/16/thenby-operator-part-14.aspx – DigitalNomad
Dies ist Lambda .. LINQ-Lösung brauchen @svick hat es in LINQ. –
Ich bin mir nicht sicher, was du meinst. Die Abfragesyntax ist nur Zucker für die obige Methodensyntax; beide sind "LINQ". Siehe http://msdn.microsoft.com/en-us/library/vstudio/bb397947.aspx Und wenn Sie die Frage lesen, fragt er speziell nach der Methodensyntaxversion. – tzaman