首页 > 解决方案 > 排序列表并返回原始索引

问题描述

我需要对包含双精度的列表“角度”进行排序,因此我想返回原始索引。

我用 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]

在此处输入图像描述 留下未排序的角度并正确排序错误的索引值作为结果

标签: c#sorting

解决方案


推荐阅读