我有一个包含如下标识符的列表:
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
此外,我还有另一个列表 <T>
项目,由上述 id 表示。
List<T> docs = GetDocsFromDb(...)
我需要在两个集合中保持相同的顺序,以便 List<T>
中的项目必须与第一个位置相同(由于搜索引擎评分原因)。而这个过程不能在GetDocsFromDb()
中完成功能。
如有必要,可以将第二个列表更改为其他结构(例如 Dictionary<long, T>
),但我不想更改它。
是否有任何简单有效的方法来使用 LINQ 执行此“取决于某些 ID 的排序”?
最佳答案
docs = docs.OrderBy(d => docsIds.IndexOf(d.Id)).ToList();
关于c# - 根据另一个列表 ID 对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15275269/