С# list.Orderby по убыванию

Я хотел бы получить отсортированный список по 'Product.Name' в порядке убывания.

Как и функция ниже, которая сортирует список в порядке возрастания, просто наоборот, возможно ли это?

var newList = list.OrderBy(x => x.Product.Name).ToList();

Ответ 1

Конечно:

var newList = list.OrderByDescending(x => x.Product.Name).ToList();

Doc: OrderByDescending (IEnumerable, Func).

В ответ на ваш комментарий:

var newList = list.OrderByDescending(x => x.Product.Name)
                  .ThenBy(x => x.Product.Price)
                  .ToList();

Ответ 3

list.OrderByDescending();

работает для меня.

Ответ 4

var newList = list.OrderBy(x => x.Product.Name).Reverse()

Это должно выполнить эту работу.

Ответ 5

Посмотрите на этот фрагмент кода из моего проекта

Я пытаюсь переупорядочить список на основе свойства внутри моей модели,

 allEmployees = new List<Employee>(allEmployees.OrderByDescending(employee => employee.Name));

но я столкнулся с проблемой, когда a small and capital letters exist, поэтому для ее решения я использовал строковый сопоставитель.

allEmployees.OrderBy(employee => employee.Name,StringComparer.CurrentCultureIgnoreCase)

Ответ 6

list = new List<ProcedureTime>(); sortedList = list.OrderByDescending(ProcedureTime=> ProcedureTime.EndTime).ToList();

Которая работает для меня, чтобы показать время, отсортированное в порядке убывания.