按值对 SortedDictionary 进行排序

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

我已经对字典进行了如下排序:

var map = new SortedDictionary<string, List<Account>>();

我需要按值大小对其进行排序(因此 List>.Count)。 我该怎么做?

我按照这个论坛的建议尝试了:

List<KeyValuePair<string, List<Account>>> myList = map.ToList();
            myList.Sort(delegate (KeyValuePair<string, List<Account>> pair1,
                                    KeyValuePair<string, List<Account>> pair2)
            {
                return pair1.Value.Count.CompareTo(pair2.Value.Count);
            }
            );

但这没有用

c# linq sorteddictionary
1个回答
0
投票

虽然 show 方法应该可以工作(对我来说确实如此),但我建议在这里使用 LINQ:

List<KeyValuePair<string, List<Account>>> myList = map
    .OrderBy(kvp => kvp.Value.Count) // OrderByDescending if higher counts needed first
    .ToList();
© www.soinside.com 2019 - 2024. All rights reserved.