私はそうのようなTValue
のToString()
方法を連結して1 IDictionary<TKey, string>
に二つ以上のIDictionary<TKey, TValue>
オブジェクトをマージするヘルパーを持っている:IDictionaryのマージ - これより効率的な方法はありますか?
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;
}
}
これは簡単で読みするのは簡単ですがそこにあるべきように、それはそうこれを行うより効率的な方法です。ある?
[ 'kvp.Value'は' null'なのでことができます。]を覚えておいてくださいます(http:// MSDNマイクロソフトコーポレーション、マイクロソフト、マイクロソフト、マイクロソフト、マイクロソフト、マイクロソフト、マイクロソフト、マイクロソフト、マイクロソフト、マイクロソフト、マイクロソフト、 – user7116
えええええええええええええええええええええええええええええええええええええええええええええええ投稿日時:それを指摘してくれてありがとう。パフォーマンスは効率的です...私は少し前向きに努力しても構いません。 –
これは参考になるかもしれません:http://stackoverflow.com/questions/712927/how-to-add-2-dictionary-contents-without-looping-in-c-sharp –