ConcurrentDictionary.Values vs Looping through the KeyValuePairs
ConcurrentDictionary.Values
requires a lock in order to retrieve the data from the dictionary while looping directly through the dictionary does not use any locks, but you get the KeyValuePair
itself so you will have to call .Value
on each result.