排序列表允许重复键并在相同键的情况下按值排序

问题描述 投票:0回答:2

我有一个键值对的排序列表(均为

double
类型)。
由于应该允许重复的键,所以我实现了 c-sharp-sortable-collection-which-allows-duplicate-keys 中给出的解决方案。我知道这会破坏
Remove(key)
IndexOfKey(key)
,但这对我来说很好。
我现在遇到的问题是,我无法控制具有相同键的元素的排序。我希望它们按值排序。是否可以编写一个自定义比较器来实现此目的?

c# sortedlist icomparer
2个回答
0
投票

如果您想按键排序,然后按值排序,请查看 OrderBy 和 ThenBy。

您想要其中一件吗?

var l = new SortedList<double, double>();

l.OrderBy(p => p.Key).ThenBy(p => p.Value);
//or
l.OrderBy(p => p.Value);

-1
投票

“我会在评论中添加此内容,但我没有足够的声誉点”

var orderByVal = orglist.OrderBy(kvp => kvp.Value); 你尝试这样做吗? 这里提到:

© www.soinside.com 2019 - 2024. All rights reserved.