1. ホーム
  2. c#

[解決済み] 辞書を他の辞書に追加する[重複]。

2023-03-05 22:53:01

質問

重複の可能性があります。

C#で辞書をマージする

C#で1つの辞書から別の辞書に値とキーをコピーする最速の方法は何ですか?

私はそれにいくつかの値を持つ辞書を持っています、例えば。

Animals <string, string>

私は今、別の似たような辞書を受け取って、言う。

NewAnimals <string,string>

NewAnimalsの辞書全体をAnimalsに追加するにはどうすればよいですか?

どのように解決するのですか?

foreach(var newAnimal in NewAnimals)
    Animals.Add(newAnimal.Key,newAnimal.Value)

注意:これは重複するキーに対して例外を投げます。


もし本当に拡張メソッドを使いたいのであれば(私は使いません)、一般的な AddRange 拡張メソッドを定義して、任意の ICollection<T> だけでなく Dictionary<TKey,TValue> .

public static void AddRange<T>(this ICollection<T> target, IEnumerable<T> source)
{
    if(target==null)
      throw new ArgumentNullException(nameof(target));
    if(source==null)
      throw new ArgumentNullException(nameof(source));
    foreach(var element in source)
        target.Add(element);
}

(辞書の重複キーでスローします)