我正试图在C#中翻译字典中的项目.
我试过了:
我试过了:
Dictionary<double,int> dict = new Dictionary<double,int>(); ...add itmes to it.... var v = dict.Reverse()
但是,dict.Reverse()给了我一种IEnumberable>.我只是想知道如何才能使它成为一种字典?
提前致谢.
解决方法
字典不是有序数据结构.要使Reverse具有任何实际意义,您需要使用SortedDictionary.您可以通过使用Comparer创建一个与原始数据相反排序的新数据来获得SortedDictionary的反向副本(请参阅
constructor).
var reversed = new SortedDictionary( original,new ReverseKeyComparer() );
请注意,ReverseKeyComparer是该示例的一个虚构类.
另外 – 如果你将Dictionary等同于map或hashtable,你需要知道SortedDictionary有点用词不当.它使用二进制树实现(我认为是Red-Black),其算法复杂度不同于Dictionary的哈希表实现.请参阅各自文档页面的“备注”部分.如果性能至关重要,您可能需要考虑订购是否真正重要.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。