Чтобы отсортировать список объектов в C#, доступно несколько методов. Вот некоторые часто используемые подходы:
-
Использование метода
List
:.Sort()
МетодList
является встроенный метод, предоставляемый классом.Sort() List
в C#. Он сортирует элементы списка на месте, используя компаратор по умолчанию для типа объекта. Например:List<MyObject> myList = GetUnsortedList(); myList.Sort();
-
Использование метода
List
:.Sort(Comparison )
TheList
позволяет вам предоставить собственную функцию сравнения для определения порядка элементов. Вот пример:.Sort(Comparison ) List<MyObject> myList = GetUnsortedList(); myList.Sort((x, y) => x.SomeProperty.CompareTo(y.SomeProperty));
-
Использование методов
List
и.OrderBy() List
:.ThenBy()
Методы расширения LINQ>OrderBy()
иThenBy()
можно использовать для сортировки списка на основе одного или нескольких свойств объекта. Этот подход создает новую отсортированную последовательность без изменения исходного списка. Вот пример:List<MyObject> myList = GetUnsortedList(); var sortedList = myList.OrderBy(x => x.SomeProperty1).ThenBy(x => x.SomeProperty2).ToList();
-
Использование метода
List
с пользовательским компаратором:.Sort(Comparison )
Вы можете реализовать собственный компаратор, создав класс, реализующийIComparer
интерфейс. Этот подход позволяет вам определить собственную логику сортировки для ваших объектов. Вот пример:public class MyObjectComparer : IComparer<MyObject> { public int Compare(MyObject x, MyObject y) { // Custom sorting logic here } } List<MyObject> myList = GetUnsortedList(); myList.Sort(new MyObjectComparer());