我有一个助手,它通过连接's方法将两个或多个IDictionary<TKey, TValue>
对象合并为一个,如下所示:IDictionary<TKey, string>
TValue
ToString()
public class DictionaryHelper<TKey, TValue>
{
public static IDictionary<TKey, string> MergeDictionaries<TKey, TValue>(params IDictionary<TKey, TValue>[] dictionaries) where TValue : class
{
var returnValue = new Dictionary<TKey, string>();
foreach (var dictionary in dictionaries)
{
foreach (var kvp in dictionary)
{
if (returnValue.ContainsKey(kvp.Key))
{
returnValue[kvp.Key] += kvp.Value.ToString();
}
else
{
returnValue[kvp.Key] = kvp.Value.ToString();
}
}
}
return returnValue;
}
}
虽然这很简单而且很容易阅读,但似乎应该有一种更有效的方法来做到这一点。有没有?