C # 목록. 내림차순


150

'Product.Name' 별로 정렬목록내림차순 으로 받고 싶습니다 .

아래의 기능과 비슷하게 목록을 오름차순으로 정렬하는 것이 역순으로 가능합니까?

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

문제는 당신이 toList대신 쓴 것 ToList입니까?
Mark Byers

1
나는 그가 descending키워드를 받아들이지 않았 음을 의미한다고 생각 합니다.from x in list...
StriplingWarrior

1
죄송합니다. 해당 코드를 정확하게 복사하지는 않았지만 메모리에서 입력했습니다. 내 실제 코드는 작동하지만 오름차순으로 정렬 된 목록을 반환합니다.
PFranchise

답변:


260

확실한:

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
그래서 편집은 이름 (z-> a)과 가격 (낮음-> 높음)별로 정렬됩니까?
PFranchise

11
네 맞습니다. OrderBy 또는 ThenBy에 대한 호출은 항상 오름차순입니다. OrderByDescending 및 ThenByDescending 메소드는 내림차순으로 사용하는 것입니다.
StriplingWarrior


11
list.OrderByDescending();

나를 위해 작동합니다.


4
list = list.OrderByDescending (). toList (); 없이는 아무 것도하지 않았습니다.
Almo

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

이 작업을 수행해야합니다.


1

내 프로젝트 에서이 코드 조각을보십시오.

모델 내부의 속성을 기준으로 목록을 다시 정렬하려고합니다.

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

하지만 a 문제가 발생하여 문제 small and capital letters exist를 해결하기 위해 문자열 비교기를 사용했습니다.

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

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

내림차순으로 정렬 된 시간을 표시하는 데 효과적입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.