c# - 排序列表并返回原始索引
问题描述
我需要对包含双精度的列表“角度”进行排序,因此我想返回原始索引。
我用 Linq 试过了,但索引与排序不匹配
var sorted = angle
.Select((x, i) => new KeyValuePair<double, int>(x, i))
.OrderBy(x => x.Key)
.ToList();
List<int> idx = sorted.Select(x => x.Value).ToList();
我想从 idx 得到的结果:[2,4,5,1,3,0,7,6] 但我得到:[4,3,0,6,7,1,5,2]
解决方案
推荐阅读
- spring-boot - 无法从命令行配置数据源
- image - 给定表示图像的 FLATTENED 数组中像素的 HEIGHT 、 WIDTH 和索引,获取像素的 X 和 Y 位置
- java - 抛出异常后如何处理 SFTP 入站适配器轮询中的剩余文件?
- html - 是否可以为 Pug 中的每个标题生成锚点?
- angular - 如何正确使用带有自定义验证器的 FormControl?[角/角材料]
- mongodb - 如何将 $lt 应用于数组元素?
- android - 如何从模块中包含 jar 依赖项
- laravel - Faker 没有正确播种 db
- mod-auth-openidc - 使用 mod_auth_openidc 进行可选或匿名身份验证
- amazon-web-services - AWS API Gateway 通过 Postman 返回不同的状态到方法测试