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

问题描述 投票:4回答:2

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

c# optimization
2个回答
9
投票

ContainsKey更快:

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

ContainsValue就像一个foreach循环。

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


4
投票

是。

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

© www.soinside.com 2019 - 2024. All rights reserved.