我List<T>在我的项目中使用,此列表包含数百个条目.我使用List.Contains方法相当多,这会伤害性能,我用字典替换了List但是它导致了内存瓶颈,从而使性能更差.是否有更好的解决方案可以建议在List中搜索?是否有替换HashSet<T>C#2.0或其他一些内存和速度更好的方式?
A Dictionary<T,bool>可用于代替a HashSet<T>.无论您添加值为True还是False的项目都是掷硬币,该值都不相关.
它比a更麻烦HashSet<T>,而且重量不是很轻,但肯定比a更好List<T>.
如果您可以接受安装 .Net 3.5 框架的要求,则可以在 2.0 项目中使用 .Net 3.5 (System.Core.dll) 中的 HashSet。
看到这个问题:Using HashSet in C# 2.0,兼容3.5
如果不行的话,我会用字典代替。
| 归档时间: |
|
| 查看次数: |
5348 次 |
| 最近记录: |