这似乎与这个问题重复,后者询问" SortedList和SortedDictionary之间有什么区别?" 不幸的是,答案只是引用MSDN文档(它清楚地表明两者之间存在性能和内存使用差异),但实际上并没有回答这个问题.
事实上(根据MSDN,这个问题没有得到相同的答案):
的
SortedList<TKey, TValue>通用类是O(log n)的检索,其中n是字典中的元件的数目的二进制搜索树.在这里,它类似于SortedDictionary<TKey, TValue>泛型类.这两个类具有相似的对象模型,并且都具有O(log n)检索.两个类别的不同之处在于内存使用和插入和移除速度:
SortedList<TKey, TValue>使用的内存少于SortedDictionary<TKey, TValue>.
SortedDictionary<TKey, TValue>对于未排序的数据,O(log n)具有更快的插入和删除操作,而不是O(n)SortedList<TKey, TValue>.如果列表是从排序数据中一次性填充的,
SortedList<TKey, TValue>则速度快于SortedDictionary<TKey, TValue>.
所以,显然这表明这SortedList<TKey, TValue>是更好的选择,除非您需要更快的插入和删除未排序数据的操作.
问题仍然存在,鉴于以上信息,使用a的实际(现实世界,商业案例等)原因是SortedDictionary<TKey, TValue>什么?根据绩效信息,这意味着根本没有必要SortedDictionary<TKey, TValue>.