参照 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 サイトの他の関連記事を参照してください。