2013-11-22 9 views
26

は、私は1つにマージすることができません:を連結2つの辞書

GroupNames = GroupNames.Concat(AddedGroupNames); 

「タイプは、暗黙的に変換できません」ので。私は信じています(そして私のコードは私には正しいと証明しています)彼らのタイプは同じです - 私は何を見落としていますか?

+1

'GroupNames'と' AddedGroupNames'の間にキー衝突がないと仮定するのは安全でしょうか? –

+2

これは既にここで答えられています:http://stackoverflow.com/questions/294138/merging-dictionaries-in-c-sharp –

答えて

54

私はあなたがこのようToDictionaryを追加する必要があるので、あなたがDictionary<string,string>としてあなたGroupNamesを定義したと思う:そうでなければ、我々はそれらを正しくマージするいくつかのルールを必要とする、2元辞書が異なる鍵を持っているだろうと

GroupNames = GroupNames.Concat(AddedGroupNames) 
         .ToDictionary(x=>x.Key,x=>x.Value); 

は注意してください。

+5

これは、上記のマークされた質問! –

+2

これは良い解決策ですが、唯一の問題はキーの重複です。キーが重複している場合は、例外がスローされます。 –

関連する問題