向后迭代SortedDictionary的最佳方法是什么?
问题描述:
我需要通过字典循环..从正常的foreach..
循环回来。什么是完成这个最好的方法?向后迭代SortedDictionary的最佳方法是什么?
更新
有是返回SortedDictionary我的外部对象。 “字符串”必须是唯一的,并引用相应的对象myObject。我想按字母顺序将列表按字符串排序。
你会推荐什么其他物体来达到这个目的?
答
那么Dictionary<K,V>
类内部使用散列表来存储它的密钥,所以没有暗示的顺序。您添加密钥的顺序不会保留,所以实际上没有任何有意义的方法来“反转”。但是话虽如此,如果您有一个有序的集合,如List或SortedDictionary,则可以使用LINQ Reverse方法来反转任何序列。
更新
在回答你关于有SortedDictionary更新,请参阅Enumerable.Reverse方法我挂上面。您可以反转字典(作为KeyValuePair或其Keys属性的集合作为字符串集合)。
SortedDictionary<string,object> dictionary = blah;
var keyValuePairs = dictionary.Reverse();
var keys = dictionary.Keys.Reverse();
字典无序 - 没有“向后”。你能否更详细地解释你实际试图解决的问题? – Juliet 2011-01-11 01:21:17