有人能解释一下为什么泛型 List.Contains()
函数这么慢吗?
我有一个大约有一百万个数字的 List<long>
,代码不断地检查这些数字中是否有一个特定的数字。
我尝试使用 Dictionary<long, byte>
和 Dictionary.ContainsKey()
函数做同样的事情,这比使用 List 快10-20倍。
当然,我真的不想为此目的使用 Dictionary,因为它本来就不应该被这样使用。
所以,这里真正的问题是,有没有任何替代 List<T>.Contains()
,但没有怪异的 Dictionary<K,V>.ContainsKey()
?