我有一个 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

最佳答案

只需将 OrderBy Math.Abs 函数一起使用。干得好:

dicZeroPeriods = dicZeroPeriods.OrderBy(x => Math.Abs(x.Value))
            .ToDictionary(x => x.Key, x => x.Value);

关于c# - 我如何通过 C# 按接近零的值基自定义排序字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42524255/

10-13 03:16