gpt4 book ai didi

c# - 根据另一个列表 ID 对列表进行排序

转载 作者:IT王子 更新时间:2023-10-29 03:34:34 27 4
gpt4 key购买 nike

我有一个包含如下标识符的列表:

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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com