LINQ を使用した別のリストの ID に基づくリストの並べ替え
ソフトウェア開発では、多くの場合、次のような複数のリストを操作する必要があります。対応する要素。この場合、ユーザーは 2 つのリストを持っています。1 つは一連の識別子 (docId) を含み、もう 1 つは対応する T 項目 (doc) を含みます。課題は、ドキュメント リストの元の型 (List
LINQ (統合言語クエリ) を使用してこれを実現するには、 OrderBy 拡張メソッドを利用できます。このメソッドは、コレクション内の要素の順序を指定するラムダ式を受け取ります。この特定のケースでは、ラムダ式は、docs リスト内の各項目の Id プロパティにアクセスして、docIds リスト内の対応する識別子と比較する必要があります。
次の LINQ 式は、このタスクを実行します。
docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();
この式はドキュメント リストを反復処理し、項目ごとに docIds リストの IndexOf メソッドを呼び出して位置を決定します。対応する識別子の値。結果は順序付けされた列挙型であり、ドキュメント リストに割り当てられます。 ToList メソッドを使用すると、順序付けされた列挙可能項目は List
要約すると、この LINQ 式は、別のリストの識別子に基づいて項目のリストを並べ替える簡単かつ効率的な方法を提供します。元のリストの順序とタイプの両方を保存できるようにします。
以上がLINQ を使用して、別のリストの ID の順序に基づいてリストを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。