Dictionary.ContainsKey / Value与检查某个键/值的foreach循环之间的速度是否存在差异

时间:2009-12-16 09:21:53

标签: c# optimization

检查某个键/值的Dictionary.ContainsKey/Valueforeach循环之间的速度是否存在差异?

2 个答案:

答案 0 :(得分:9)

ContainsKey更快:

  

此方法接近O(1)操作。

ContainsValue就像一个foreach循环。

  

此方法执行线性搜索;因此,平均执行时间与Count成正比。也就是说,此方法是O(n)操作,其中n是Count。

答案 1 :(得分:4)

ContainsKey差不多是O(1)。至于ContainsValue,我无法确定,但我认为循环没有太大区别。