TryGetValue
will be faster.
ContainsKey
uses the same check as TryGetValue
, which internally refers to the actual entry location. The Item
property actually has nearly identical code functionality as TryGetValue
, except that it will throw an exception instead of returning false.
Using ContainsKey
followed by the Item
basically duplicates the lookup functionality, which is the bulk of the computation in this case.