【发布时间】:2012-10-30 16:04:30
【问题描述】:
我有以下字典:
SortedDictionary<int, string> dictionary = new SortedDictionary<int, string>();
dictionary.add(2007, "test1");
dictionary.add(2008, "test2");
dictionary.add(2009, "test3");
dictionary.add(2010, "test4");
dictionary.add(2011, "test5");
dictionary.add(2012, "test6");
我想反转元素的顺序,以便当我在屏幕上显示项目时,我可以从 2012 年开始。如果可能,我想将反转的字典重新分配回变量字典。
我尝试了dictionary.Reverse,但这似乎并不像我想象的那么容易。
【问题讨论】:
-
使用反向比较器创建一个新的
SortedDictionary。 -
你能给我一个例子吗?听起来这就是我要找的东西。
-
很遗憾,字典上没有“排序”方法。我已经找过了。 ...另外,如果可能的话,我不想编写额外的代码或类。这似乎应该使用 LINQ 轻松完成。
-
1) 您不需要
Sort方法。您只需要与其他问题相同的比较器方法 2)没有 LINQ 不会帮助您。您需要一个自定义比较器。 LINQ 会给你一个IEnumerable<KeyValuePair<TKey, TValue>>而不是SortedDictionary<TKey, TValue>。
标签: c# linq reverse sorteddictionary