LINQ 쿼리의 OrderBy 메서드를 사용하면 데이터를 효율적으로 정렬할 수 있습니다. 하지만 매개변수를 기반으로 정렬 매개변수를 동적으로 지정하려면 어떻게 해야 할까요? 이 기사에서는 이에 대해 안내할 것입니다.
학생 개체 목록이 있고 주소 속성을 기준으로 정렬한다고 가정해 보겠습니다.
<code class="language-csharp">List<Student> existingStudents = new List<Student> { new Student {...}, new Student {...} }; List<Student> orderbyAddress = existingStudents.OrderBy(c => c.Address).ToList();</code>
그러나 이는 주소 순서를 하드코딩합니다.
정렬 매개변수를 동적으로 지정하려면 리플렉션을 활용하여 표현식 트리를 구성할 수 있습니다.
<code class="language-csharp">public static IQueryable<T> OrderBy<T>(this IQueryable<T> source, string orderByProperty, bool desc) { // ... (此处应提供答案中的代码片段) }</code>
이제 동적 매개변수와 함께 OrderBy 확장 메소드를 사용할 수 있습니다.
<code class="language-csharp">string param = "City"; List<Student> orderbyCity = existingStudents.OrderBy("City", true).ToList(); // 降序排序</code>
이 접근 방식은 런타임에 정렬 매개변수를 지정할 수 있는 유연성을 제공하므로 LINQ 쿼리에서 사용자 정의 가능하고 동적인 정렬이 가능합니다.
위 내용은 매개 변수를 사용하여 LINQ에서 데이터를 동적으로 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!