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