【发布时间】:2011-08-20 22:56:18
【问题描述】:
这个问题可能已经以不同的格式提出,但是对于我目前的要求,有人可以建议哪个是最好的..
在 ASP.Net 中,我有自己的本地和全局资源实现,我将键值对存储在静态 Dictionary 对象中,总共可能有最多 10,000 个值(所有页面)。当 asp.net 应用程序加载一个页面时,它会将值存储在我的静态字典对象中。当页面被再次访问而不是从资源文件中读取值时,它由静态 Dictionary 对象提供。
我的问题是出于性能原因字典是最好的还是我应该使用 SortedList/SortedDictionary
【问题讨论】:
-
为什么需要排序?如果您总是通过键访问值,则不会有任何优势,只会降低性能,因为 SortedList 必须在创建、插入和删除时重新排序所有索引。唯一的好处是您可以通过键或索引访问它,并且在枚举 DictionaryEntries 时可以通过键获得正确的排序顺序。
-
我不需要排序,我的想法是如果记录按排序顺序存储,同时获取单个值会更快。我不确定它内部使用的算法
-
在 Dictionary 类型中的存储位置无关紧要。它们可以通过密钥直接访问,就像一个地址。留在字典里。如果您想了解更多有关算法的信息,请查看this SO-answer。
标签: c# asp.net collections