向后迭代SortedDictionary的最佳方法是什么?

goo*_*ate 1 c# arrays dictionary

我需要循环一个字典..从正常foreach..循环向后.完成此任务的最佳方法是什么?

更新

有一个外部对象将SortedDictionary返回给我."string"必须是唯一的,并引用相应的对象myObject.我想按字母顺序按"字符串"排序列表......反过来.

你会建议用什么其他物品来达到这个目的?

Jos*_*osh 7

那么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();
Run Code Online (Sandbox Code Playgroud)