c# dictionary trygetvalue complexity