c# dictionary trygetvalue returns null