我想爲我的字典寫一個合併擴展方法。如何更新擴展方法中的字典元素?
我真的很喜歡solutionMerging dictionaries in C#
我想修改上面的解決方案,如果更新鍵退出字典項。我不想使用Concurrent字典。有任何想法嗎 ?
public static void Merge<TKey, TValue>(this IDictionary<TKey, TValue> first, IDictionary<TKey, TValue> second)
{
if (second == null) return;
if (first == null) first = new Dictionary<TKey, TValue>();
foreach (var item in second)
{
if (!first.ContainsKey(item.Key))
{
first.Add(item.Key, item.Value);
}
else
{
**//I Need to perform following update . Please Help
//first[item.Key] = first[item.key] + item.Value**
}
}
}
你應該提供一些例子投入和預期輸出。 – 2013-02-28 22:04:44
它完全取決於你對任意「TValue」的「合併」的含義。數字類型可以以與字符串或任意對象等不同的方式進行合併。一種選擇是提供'merge'委託作爲參數,以便調用者可以指定如何合併重複鍵的值。 – dlev 2013-02-28 22:05:49