dictionary c# trygetvalue performance