/// <summary>更新:如果不存在,则添加;存在,则替换。 /// <para>不更新:如果不存在,则添加;存在,则忽略。</para></summary> public static void Add <TKey, TValue>(this Dictionary <TKey, TValue> dict, TKey key, TValue value, AddChoice addChoice) { if (dict.ContainsKey(key)) { if (addChoice == AddChoice.Update) { dict[key] = value; return; } else if (addChoice == AddChoice.IgnoreDuplication) { return; } else if (addChoice == AddChoice.NotIgnoreDuplication) { throw new ArgumentException("已存在具有相同键的元素"); } } else { dict.Add(key, value); } }
/// <summary>更新:如果不存在,则添加;存在,则替换。 /// <para>不更新:如果不存在,则添加;存在,则忽略。</para></summary> public static void Add <TKey, TValue>(this Dictionary <TKey, TValue> dict, TKey key, TValue value, AddChoice addChoice) { switch (addChoice) { case AddChoice.Update: dict[key] = value; return; case AddChoice.IgnoreDuplication: return; case AddChoice.NotIgnoreDuplication: throw new ArgumentException("已存在具有相同键的元素"); } }