Sta*_*Cub 3 c# reverse dictionary
我正试图在C#中翻译字典中的项目.我试过了:
Dictionary<double, int> dict = new Dictionary<double, int>();
...add itmes to it....
var v = dict.Reverse()
Run Code Online (Sandbox Code Playgroud)
但是,dict.Reverse()给了我一种IEnumberable>.我只是想知道如何才能使它成为一种字典?
提前致谢.
tva*_*son 11
字典不是有序数据结构.要使Reverse具有任何实际意义,您需要使用SortedDictionary.您可以通过创建一个带有Comparer的新副本来获得SortedDictionary的反向副本,该Comparer执行与原始相反的排序(请参阅构造函数).
var reversed = new SortedDictionary( original, new ReverseKeyComparer() );
Run Code Online (Sandbox Code Playgroud)
请注意,ReverseKeyComparer该示例是一个虚构的类.
另外 - 如果你将Dictionary等同于map或hashtable,你需要知道SortedDictionary有点用词不当.它使用二进制树实现(我认为是Red-Black),其算法复杂度不同于Dictionary的哈希表实现.请参阅各自文档页面的"备注"部分.如果性能至关重要,您可能需要考虑订购是否真正重要.
| 归档时间: |
|
| 查看次数: |
6891 次 |
| 最近记录: |