【发布时间】:2011-12-13 14:59:07
【问题描述】:
我有一个简单的要求:我有数百万个字符串,并且想测试它们是否存在于一个小集合中。我在使用 List<T> 和 HashSet<T> 来设置这个集合之间存在疑问。
当需求相反时,例如你有 100 个字符串并且需要检查它们是否存在于数百万个字符串的集合中,我完全理解HashSet<T> 是最好的选择。
但在我的情况下,.NET 在HashSet<T> 上调用Contains 时似乎必须计算数百万个哈希值(调用GetHashCode),因此调用Contains 的List<T> 可能会更快?
谁能解释这个假设是否正确?
【问题讨论】:
标签: .net performance list contains hashset