2011-01-11 75 views
0

我需要通过字典循环..从正常的foreach..循环回来。什么是完成这个最好的方法?向后迭代SortedDictionary的最佳方法是什么?

更新

有是返回SortedDictionary我的外部对象。 “字符串”必须是唯一的,并引用相应的对象myObject。我想按字母顺序将列表按字符串排序。

你会推荐什么其他物体来达到这个目的?

+8

字典无序 - 没有“向后”。你能否更详细地解释你实际试图解决的问题? – Juliet 2011-01-11 01:21:17

回答

6

那么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(); 
相关问题