C# 向后迭代SortedDictionary的最佳方式是什么?

C# 向后迭代SortedDictionary的最佳方式是什么?,c#,arrays,dictionary,C#,Arrays,Dictionary,我需要翻查字典。。从正常的foreach向后。。环实现这一目标的最佳方式是什么 更新 有一个外部对象正在向我返回SortedDictionary。字符串必须是唯一的,并引用相应的对象myObject。我想按字符串的字母顺序对列表排序。。。反过来说 你会推荐什么其他物品来达到这个目的 Dictionary类在内部使用哈希表存储其键,因此没有隐含顺序。添加关键点的顺序没有保留,因此实际上没有任何有意义的方法来反转 但话虽如此,如果您有一个有序的集合,比如一个列表或列表,您可以使用LINQ方法来反转任

我需要翻查字典。。从正常的foreach向后。。环实现这一目标的最佳方式是什么

更新

有一个外部对象正在向我返回SortedDictionary。字符串必须是唯一的,并引用相应的对象myObject。我想按字符串的字母顺序对列表排序。。。反过来说

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

Dictionary类在内部使用哈希表存储其键,因此没有隐含顺序。添加关键点的顺序没有保留,因此实际上没有任何有意义的方法来反转

但话虽如此,如果您有一个有序的集合,比如一个列表或列表,您可以使用LINQ方法来反转任何序列

更新

为了回应您关于拥有SortedDictionary的更新,请参考上面链接的Enumerable.Reverse方法。可以将字典反转为KeyValuePair集合,也可以将其Keys属性反转为字符串集合

SortedDictionary<string,object> dictionary = blah;
var keyValuePairs = dictionary.Reverse();
var keys = dictionary.Keys.Reverse();
Dictionary类在内部使用哈希表来存储其键,因此没有隐含顺序。添加关键点的顺序没有保留,因此实际上没有任何有意义的方法来反转

但话虽如此,如果您有一个有序的集合,比如一个列表或列表,您可以使用LINQ方法来反转任何序列

更新

为了回应您关于拥有SortedDictionary的更新,请参考上面链接的Enumerable.Reverse方法。可以将字典反转为KeyValuePair集合,也可以将其Keys属性反转为字符串集合

SortedDictionary<string,object> dictionary = blah;
var keyValuePairs = dictionary.Reverse();
var keys = dictionary.Keys.Reverse();

字典是无序的,没有倒退。朱丽叶:你能更详细地解释一下你到底想解决什么问题吗?@朱丽叶:加上这个作为答案,我会投票给你。我做了一次编辑,我想以最有效的方式对一个分类的附加词典进行倒排。词典是无序的,没有倒排。你能更详细地解释一下你到底想解决什么问题吗?@朱丽叶:加上这个作为答案,我会投票表决。我做了一次编辑,我想以最有效的方式对一个分类词典进行反向修改。