私はこのようないくつかの識別子を持つリストを持っています:
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
Morover、私は<T>
上記のIDで表されるアイテムの別のリストを持っています。
List<T> docs = GetDocsFromDb(...)
両方のコレクションで同じ順序を維持する必要があるため、のアイテムList<T>
は最初のアイテムと同じ位置になければなりません(検索エンジンのスコアリングの理由により)。そして、このプロセスはGetDocsFromDb()
関数内では実行できません。
必要に応じて、2番目のリストを他の構造(Dictionary<long, T>
たとえば)に変更することは可能ですが、変更しない方がよいでしょう。
LINQを使用してこの「いくつかのIDに応じた順序付け」を行う簡単で効率的な方法はありますか?
最初のリストは「マスターリスト」を表していますか?言い換えると、2番目のリストは、最初のリストの一部(または全体)を表すサブセットになりますか?
—
code4life 2013年
docId
がで1回だけ発生することが保証されていますか?docs
どのプロパティがを保持するId
か、セレクタFunc<T, long>
が必要になりますか?