Ejemplo n.º 1
0
 /// <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);
     }
 }
Ejemplo n.º 2
0
        /// <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("已存在具有相同键的元素");
            }
        }