Различные методы сортировки списка в C#

Чтобы отсортировать список в C#, можно использовать несколько методов. Вот некоторые часто используемые подходы:

  1. Использование метода List.Sort():

    List<int> numbers = new List<int>() { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
    numbers.Sort();
  2. Использование метода List.OrderBy()с лямбда-выражением:

    List<int> numbers = new List<int>() { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
    var sortedNumbers = numbers.OrderBy(x => x).ToList();
  3. Использование метода List.OrderByDescending()с лямбда-выражением:

    List<int> numbers = new List<int>() { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
    var sortedNumbers = numbers.OrderByDescending(x => x).ToList();
  4. Использование метода List.Sort(Comparisonсравнение)с настраиваемой функцией сравнения:

    List<int> numbers = new List<int>() { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
    numbers.Sort((x, y) => x.CompareTo(y));
  5. Использование метода List.Sort(IComparerComparer)с пользовательским компаратором:

    public class CustomComparer : IComparer<int>
    {
       public int Compare(int x, int y)
       {
           // Custom comparison logic here
           return x.CompareTo(y);
       }
    }
    List<int> numbers = new List<int>() { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
    numbers.Sort(new CustomComparer());

Эти методы сортируют список по возрастанию. Если вы хотите отсортировать список в порядке убывания, вы можете использовать метод OrderByDescending()или соответствующим образом изменить пользовательскую логику сравнения.