繁体   English   中英

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

[英]What is the best way to iterate over a SortedDictionary backwards?

我需要从普通的foreach..循环foreach..字典.. 做到这一点的最佳方法是什么?

更新资料

有一个外部对象正在向我返回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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM