首页 > 后端开发 > C++ > 如何根据另一个列表中 ID 的顺序对列表进行排序?

如何根据另一个列表中 ID 的顺序对列表进行排序?

Mary-Kate Olsen
发布: 2025-01-19 12:01:09
原创
1012 人浏览过

How to Sort a List Based on the Order of IDs in Another List?

使用参考 ID 列表重新排序列表

此示例演示如何重新排列项目列表(例如文档)以匹配单独参考列表中的 ID 顺序。 当您需要维护两个相关数据集之间的一致性时,这是一项常见任务。 LINQ 提供了简洁的解决方案。

关键是将OrderBy方法与索引查找结合使用。我们在引用 ID 列表中找到每个项目 ID 的索引,并使用该索引来确定排序顺序。

代码如下:

docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();
登录后复制

此代码片段有效地对 docs 列表进行重新排序,以反映 docIds 列表指定的顺序。 IndexOf 方法查找 d.Id 中每个 docIds 的位置,并且 OrderBy 使用这些索引进行排序。 最后的 .ToList() 将排序结果转换回列表。 这确保了 docs 中的项目顺序现在直接对应于 docIds 中的 ID 顺序。

以上是如何根据另一个列表中 ID 的顺序对列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板