C # list.Orderby по убыванию - PullRequest
       4

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

135 голосов
/ 13 октября 2010

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

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

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

Ответы [ 6 ]

241 голосов
/ 13 октября 2010

Конечно:

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

Документ: OrderByDescending (IEnumerable, Func) .

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

var newList = list.OrderByDescending(x => x.Product.Name)
                  .ThenBy(x => x.Product.Price)
                  .ToList();
21 голосов
/ 13 октября 2010

Да. Используйте OrderByDescending вместо OrderBy.

9 голосов
/ 13 октября 2010
list.OrderByDescending();

у меня работает.

6 голосов
/ 10 октября 2014
var newList = list.OrderBy(x => x.Product.Name).Reverse()

Это должно сделать работу.

1 голос
/ 25 июля 2016

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

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

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

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

allEmployees.OrderBy(employee => employee.Name,StringComparer.CurrentCultureIgnoreCase)
0 голосов
/ 20 марта 2013
list = new List<ProcedureTime>(); sortedList = list.OrderByDescending(ProcedureTime=> ProcedureTime.EndTime).ToList();

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

...