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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dictionary.ContainsKey / Value与检查某个键/值的foreach循环之间的速度是否存在差异相关的知识,希望对你有一定的参考价值。

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

答案

ContainsKey更快:

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

ContainsValue就像一个foreach循环。

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

另一答案

是。

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

以上是关于Dictionary.ContainsKey / Value与检查某个键/值的foreach循环之间的速度是否存在差异的主要内容,如果未能解决你的问题,请参考以下文章

C#中Dictionary的TryGetValue和Contains

C#中Dictionary的TryGetValue和Contains

正则匹配查找模板