Tip: how to simplify value access from a dictionary ? With an extension method !
I was getting really bored with testing .ContainsKey() at each time I wanted to read a value from a dictionary.
Dictionary<string, string> dico;
if (dico.ContainsKey("key"))
value = dico["key"];
else
value = "default";
A incredibly simple extension method solves this so easily:
public static class MyExtensions
{
public static TValue GetValue<TKey, TValue>(
this IDictionary<TKey, TValue> source,
TKey key, TValue defaultValue)
{
if (source.ContainsKey(key))
return source[key];
else
return defaultValue;
}
}
The call from any dictionary now becomes:
value = dico.GetValue("key", "default");
...sometimes I just wonder how I did not think about such solutions earlier ! :-)