ホームページ > バックエンド開発 > C++ > パラメーターを使用して LINQ でデータを動的に並べ替えるにはどうすればよいですか?

パラメーターを使用して LINQ でデータを動的に並べ替えるにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-10 11:54:43
オリジナル
458 人が閲覧しました

How Can I Dynamically Order Data in LINQ Using a Parameter?

LINQ 動的並べ替え: OrderBy メソッドの動的パラメーターを理解する

LINQ クエリの OrderBy メソッドを使用すると、データを効率的に並べ替えることができます。しかし、パラメータに基づいて並べ替えパラメータを動的に指定したい場合はどうすればよいでしょうか?この記事ではこれについて説明します。

現在の実装

Student オブジェクトのリストがあり、それらを Address プロパティで並べ替えたいとします。

List<Student> existingStudents = new List<Student> { new Student {...}, new Student {...} };

List<Student> orderbyAddress = existingStudents.OrderBy(c => c.Address).ToList();
ログイン後にコピー

ただし、これによりアドレスの順序がハードコーディングされます。

動的並べ替え

ソートパラメータを動的に指定するには、リフレクションを利用して式ツリーを構築します。

public static IQueryable<T> OrderBy<T>(this IQueryable<T> source, string orderByProperty, bool desc)
{
    // ... (此处应提供答案中的代码片段)
}
ログイン後にコピー

使用方法

動的パラメーターを指定して OrderBy 拡張メソッドを使用できるようになりました:

string param = "City";
List<Student> orderbyCity = existingStudents.OrderBy("City", true).ToList(); // 降序排序
ログイン後にコピー

このアプローチでは、実行時に並べ替えパラメーターを柔軟に指定できるため、LINQ クエリでのカスタマイズ可能な動的並べ替えが可能になります。

以上がパラメーターを使用して LINQ でデータを動的に並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート