次のような識別子を含むリストがあります。
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
<T>
さらに、上記の ID で表されるアイテムの別のリストがあります。
List<T> docs = GetDocsFromDb(...)
両方のコレクションで同じ順序を維持する必要があるためList<T>
、最初のコレクションと同じ位置にある必要があります (検索エンジンのスコアリングの理由により)。そして、このプロセスは関数では実行できませんGetDocsFromDb()
。
必要に応じて、2 番目のリストを別の構造 (Dictionary<long, T>
たとえば) に変更することもできますが、私はそれを変更したくありません。
この「いくつかのIDに応じた順序付け」をLINQで行う簡単で効率的な方法はありますか?