Речь пойдет о коллекциях IDictionary. Не знаю как вам, но мне надоела постоянная проверка .ContainsKey(), каждый раз, когда я хотел получить значение из словаря.
Dictionary<string, string> dict;
if (dict.ContainsKey("key"))
value = dict["key"];
else
value = "defaultValue";
Поэтому мне пришлось реализовать такую вот нехитрую обертку:
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;
}
}
И теперь получить значение стало намного проще:
value = dict.GetValue("key", "defaultValue");