С# 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();
Ответ 2
Да. Используйте OrderByDescending
вместо OrderBy
.
Ответ 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();
Которая работает для меня, чтобы показать время, отсортированное в порядке убывания.