I noticed the following code:
_E As Generic.Dictionary(Of String, String) = New
Generic.Dictionary(Of String, String)
' assume _E has 1000s of keys
Dim UA As String = "v"
Dim SE As String
Dim SEObj As Object
Dim res As Boolean
SEObj = _E(UA) ' value can't be Nothing
If (SEObj IsNot Nothing) Then
SE = SEObj
End If
..is about 3x faster than..
res = _E.ContainsKey(UA)
If res Then
SE = _E(UA)
End If
Why is ContainsKey so much slower than a direct lookup?
Chris Nahr - 15 Mar 2007 08:36 GMT
>Why is ContainsKey so much slower than a direct lookup?
Haven't you noticed that your slower version is doing TWO lookups
instead of one? Use TryGetValue instead, then it's just as fast...
--
http://www.kynosarges.de