У меня есть список, который мне нужно отсортировать по двум полям. Я попытался использовать OrderBy в LINQ, но это только позволяет мне указать одно поле. Я ищу список, который нужно отсортировать по первому полю, а затем, если в первом поле есть какие-то дубликаты для сортировки по второму полю.LINQ OrderBy с более чем одним полем
Например, я хочу, чтобы результаты выглядели так (отсортированные по фамилии, а затем по имени).
- Адамс, Джон
- Смит, Джеймс
- Смит, Питер
- Томпсон, Фред
Я видел, что вы можете использовать SQL like syntax to accomplish this, но я искал способ сделать это с помощью метода OrderBy.
IList<Person> listOfPeople = /*The list is filled somehow.*/
IEnumerable<Person> sortedListOfPeople = listOfPeople.OrderBy(aPerson => aPerson.LastName, aPerson.FirstName); //This doesn't work.
Полное объяснение перечислен здесь: Http: // Веблоги. asp.net/zeeshanhirani/archive/2008/04/16/thenby-operator-part-14.aspx – DigitalNomad
Это Лямбда .. Для решения LINQ необходимо @svick использовать его в LINQ. –
Я не уверен, что вы имеете в виду. Синтаксис запроса - это просто сахар для синтаксиса метода выше; оба являются «LINQ». См. Http://msdn.microsoft.com/en-us/library/vstudio/bb397947.aspx И если вы прочитали вопрос, он специально попросил версию синтаксиса метода. – tzaman