2014-03-27 4 views

답변

1

컬렉션의 모든 요소에 대해 동일한 속성 이름으로 정렬합니다. 이 식은 항상 property을 반환합니다.

a => a.GetType().GetProperty(property).Name 

전체 모음에서 일정한 식으로 정렬하면 효과가 없습니다.

관계없이 정렬을 사용하면 극단적 인 오버 헤드로 인해 정렬을 실행하게되므로 매우 나쁜 생각입니다. Dynamic LINQ을 사용하는 것이 좋습니다.이 기능에는 이름으로 지정된 속성별로 정렬 할 수있는 기능이 내장되어 있습니다. 당신이 당신의 프로젝트에 동적 LINQ 라이브러리를 추가하는 경우

대신이 쓸 수있을 것입니다 :

if (dir == "DESC") 
    order = values.OrderBy(property + " DESC"); 
else 
    order = values.OrderBy(property); 
+1

OrderByDescending가 존재하지 않습니다. order = values.OrderBy (property + "DESC");를 사용하십시오. 또는 order = values.OrderBy (property); – Gus

+0

@Gus : 잘 잡으세요! 나는 그것을 고쳤다. – mellamokb

관련 문제