我的問題已被標記爲這個問題的一個可能重複:How to combine two dictionaries without looping?結合兩個詞典與LINQ
我相信我的問題是不同的,因爲我是問如何將兩個字典以特定方式結合起來:我想所有項目從Dictionary1加上Dictionary1中所有不在Dictionary1中的項目(即密鑰不存在)。
我有兩本詞典是這樣的:
var d1 = new Dictionary<string,object>();
var d2 = new Dictionary<string,object>();
d1["a"] = 1;
d1["b"] = 2;
d1["c"] = 3;
d2["a"] = 11;
d2["e"] = 12;
d2["c"] = 13;
我想將它們合併成一個新的詞典(在技術上,它並不一定是一個字典,它可能只是的KeyValuePairs
序列)等輸出包含來自d1的所有KeyValuePairs
以及僅來自d2
的KeyValuePairs,其密鑰未出現在d1
中。
概念:
var d3 = d1.Concat(d2.Except(d1))
但是,這是給我所有的D1和D2元素。
似乎它應該是顯而易見的,但我必須失去一些東西。
的可能的複製[如何添加2個詞典內容,而不循環在C#](http://stackoverflow.com/questions/712927/how-to-add-2-dicti onary-contents-without-in-c-sharp) – 2016-04-28 05:01:16
這個問題不是這個問題的重複。這個問題是問如何組合兩個字典,d1和d2,使得生成的字典包含d1中的所有項目以及來自d2的所有項目,這些項目不在d1中。另一個問題是要求,而且答案解釋瞭如何在沒有任何額外條件的情況下合併兩本字典。 – wageoghe 2016-04-28 17:58:46