Как я могу выполнить сортировку по двум различным критериям?
Например, у меня есть персональные объекты вроде:
Person
со свойствами FirstName
(строка), LastName
и Rank
(int).
Пример таких данных:
Xavier Smith 1
Alexander Smith 2
Alexander Smith 1
Bob Hawke 2
Он должен сортировать по первому имени в алфавитном порядке, затем по рангу, например. в результате чего:
Alexander Smith 1
Alexander Smith 2
Bob Hawke 2
Xavier Smith 1
До сих пор я пробовал следующее, но он не работает должным образом:
peopleList
List<Person>
peopleList.Sort(new Comparison<Person>((x,y) => x.Rank.CompareTo(y.Rank)));
peopleList.Sort(new Comparison<Person>((x, y) => string.Compare(x.Name, y.Name)));
Спасибо
изменить:, чтобы избежать слишком большого изменения моего кода, я действительно хочу сохранить список, если я изменил приведенные выше строки на:
peopleList.OrderBy(person => person.FirstName).ThenBy(person => person.Rank).ToList();
Дал бы тот же список, который был правильно отсортирован, правильно?