のメソッドを次のように連結することにより、2つ以上のIDictionary<TKey, TValue>
オブジェクトを1つにマージするヘルパーがあります。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;
}
}
これは簡単で読みやすいですが、これを行うにはもっと効率的な方法があるはずです。ある?