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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-19 12:01:09989ブラウズ

How to Sort a List Based on the Order of IDs in Another List?

参照 ID リストを使用したリストの並べ替え

この例では、項目 (ドキュメントなど) のリストを再配置して、別の参照リスト内の ID の順序と一致させる方法を示します。 これは、2 つの関連するデータセット間の一貫性を維持する必要がある場合の一般的なタスクです。 LINQ は簡潔なソリューションを提供します。

重要なのは、OrderBy メソッドをインデックス検索と組み合わせて使用​​することです。参照 ID リストで各項目の ID のインデックスを見つけ、そのインデックスを使用して並べ替え順序を決定します。

コードは次のとおりです:

<code class="language-csharp">docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();</code>

このコード スニペットは、docs リストで指定された順序を反映するように docIds リストの順序を効率的に変更します。 IndexOf メソッドは、d.Id 内の各 docIds の位置を見つけ、OrderBy はこれらのインデックスを使用して並べ替えます。 最後の .ToList() は、順序付けされた結果をリストに変換します。 これにより、docs 内の項目の順序が docIds 内の ID の順序に直接対応するようになります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。