ホームページ > バックエンド開発 > C++ > LINQ を使用して、別のリストの ID の順序に基づいてリストを並べ替えるにはどうすればよいですか?

LINQ を使用して、別のリストの ID の順序に基づいてリストを並べ替えるにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-19 11:57:10
オリジナル
787 人が閲覧しました

How Can I Sort a List Based on the Order of IDs in Another List Using LINQ?

LINQ を使用した別のリストの ID に基づくリストの並べ替え

ソフトウェア開発では、多くの場合、次のような複数のリストを操作する必要があります。対応する要素。この場合、ユーザーは 2 つのリストを持っています。1 つは一連の識別子 (docId) を含み、もう 1 つは対応する T 項目 (doc) を含みます。課題は、ドキュメント リストの元の型 (List) を維持しながら、ドキュメント リストを docIds リストと同じ順序で並べ替えることです。

LINQ (統合言語クエリ) を使用してこれを実現するには、 OrderBy 拡張メソッドを利用できます。このメソッドは、コレクション内の要素の順序を指定するラムダ式を受け取ります。この特定のケースでは、ラムダ式は、docs リスト内の各項目の Id プロパティにアクセスして、docIds リスト内の対応する識別子と比較する必要があります。

次の LINQ 式は、このタスクを実行します。

docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();
ログイン後にコピー

この式はドキュメント リストを反復処理し、項目ごとに docIds リストの IndexOf メソッドを呼び出して位置を決定します。対応する識別子の値。結果は順序付けされた列挙型であり、ドキュメント リストに割り当てられます。 ToList メソッドを使用すると、順序付けされた列挙可能項目は List に変換されます。

要約すると、この LINQ 式は、別のリストの識別子に基づいて項目のリストを並べ替える簡単かつ効率的な方法を提供します。元のリストの順序とタイプの両方を保存できるようにします。

以上がLINQ を使用して、別のリストの ID の順序に基づいてリストを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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