我有一个Dictionary<int, double>
,我想自定义排序。但它的排序有点不同。
例如,这里是代码:
Dictionary<int, double> dicZeroPeriods = new Dictionary<int, double>();
dicZeroPeriods.Add (80,-3.5);
dicZeroPeriods.Add (90,-2.4);
dicZeroPeriods.Add (50,4.2);
dicZeroPeriods.Add (65,1.2);
那么如何根据零附近的值基础对dicZeroPeriods
进行自定义排序。我的意思是结果应该是:
65,1.2
90,-2.4
80,-3.5
50,4.2
答案 0 :(得分:4)
只需将OrderBy
与Math.Abs
功能一起使用即可。你走了:
dicZeroPeriods = dicZeroPeriods.OrderBy(x => Math.Abs(x.Value))
.ToDictionary(x => x.Key, x => x.Value);
答案 1 :(得分:0)
使用Math.Abs()
按字符串元素的绝对值对字典元素进行排序。 Math.Abs(1.2)&lt; Math.Abs(-3.5)等等。