.NET SortedDictionary但按值排序
我需要一个像SortedDictionary
一样的数据结构,但是它是根据值而不是键来排序的。 当我们在字典中有大约3000个项目时,我需要大约1-2微秒来添加和删除项目。
我的第一个想法是简单地在我的代码中切换键和值。 这几乎是有效的。 通过这样做,我可以在测试中添加和删除大约1.2微秒的元素。
但是密钥必须在SortedDictionary中是唯一的,这意味着我的逆字典中的值必须是唯一的。 在某些情况下,他们可能不会。
.NET库中的某些想法已经对我有用吗?
PowerCollections库有一个名为OrderedMultiDictionary
,它基本上类似于SortedDictionary
但允许重复。 查找键时,您将获得可枚举而不是单个值。
该库是免费的,你应该能够完成你想要的那个类 – 将值存储为键。
您可以按如下方式对SortedDictionary进行排序:
上述就是C#学习教程:.NET SortedDictionary但按值排序分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
yourList.Sort( delegate(KeyValuePair val1, KeyValuePair val2) { return val1.Value.CompareTo(val2.Value); } );
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/949582.html