is there difference in speed between Dictionary.ContainsKey/Value and a foreach loop that checks for a certain key/value ?
views:
93answers:
2
+4
A:
Yes.
ContainsKey is nearly O(1). As for ContainsValue, I can't tell for sure, but I think there won't be much difference to a loop.
Maximilian Mayerl
2009-12-16 09:25:10
+4
A:
ContainsKey is faster :
This method approaches an O(1) operation.
ContainsValue is like a foreach loop.
This method performs a linear search; therefore, the average execution time is proportional to Count. That is, this method is an O(n) operation, where n is Count.
Guillaume
2009-12-16 09:25:13
So it is! I thought it was implemented as a binary search in the background...
Goran
2009-12-16 09:42:32