[GetOrDefault]KeyがなければDefault値を返します。#ExtensionMethod
/// <summary>
/// 指定したKeyがDictionaryにあれば、そのValueを返し、なければValue型のDefault値を返します。
/// </summary>
/// <param name="dict">元のDictionary</param>
/// <param name="key">Key</param>
public static TValue GetOrDefault<TKey, TValue>(this IDictionary<TKey, TValue> dict, TKey key)
{
dict.TryGetValue(key, out TValue result) ? result : default(TValue);
}