1
이 메서드가 값을 목록에서 정렬하지 않는 이유는 무엇입니까?제네릭을 사용하는 OrderBy IEnumerable
이 메서드가 값을 목록에서 정렬하지 않는 이유는 무엇입니까?제네릭을 사용하는 OrderBy IEnumerable
컬렉션의 모든 요소에 대해 동일한 속성 이름으로 정렬합니다. 이 식은 항상 property
을 반환합니다.
a => a.GetType().GetProperty(property).Name
전체 모음에서 일정한 식으로 정렬하면 효과가 없습니다.
관계없이 정렬을 사용하면 극단적 인 오버 헤드로 인해 정렬을 실행하게되므로 매우 나쁜 생각입니다. Dynamic LINQ을 사용하는 것이 좋습니다.이 기능에는 이름으로 지정된 속성별로 정렬 할 수있는 기능이 내장되어 있습니다. 당신이 당신의 프로젝트에 동적 LINQ 라이브러리를 추가하는 경우
대신이 쓸 수있을 것입니다 :
if (dir == "DESC")
order = values.OrderBy(property + " DESC");
else
order = values.OrderBy(property);
OrderByDescending가 존재하지 않습니다. order = values.OrderBy (property + "DESC");를 사용하십시오. 또는 order = values.OrderBy (property); – Gus
@Gus : 잘 잡으세요! 나는 그것을 고쳤다. – mellamokb