我有一些像这样的标识符的列表:排序从另一个列表ID的列表
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
Morover,我的<T>
物品,其通过上述的ID表示的另一列表。
List<T> docs = GetDocsFromDb(...)
我必须保持相同的顺序在这两个集合,因此在List<T>
的项目必须在相同的位置比第一个(因搜索引擎评分的原因)。这个过程不能在GetDocsFromDb()
函数中完成。
如有必要,可以将第二个列表更改为其他结构(例如Dictionary<long, T>
),但我不想更改它。
是否有任何简单而有效的方法来做到这一点“取决于某些ID的定义”与LINQ?
你确定每个'docId'只出现在'docs'一次,什么属性会保存'Id'或将选择器'Func'是必需的? –
Jodrell
2013-03-07 15:43:56
第一个列表是否代表“主列表”?换句话说,第二个列表是否是表示第一个列表的一部分(或全部)的子集? – code4life 2013-03-07 16:00:00