La mia domanda è stato contrassegnato come un possibile duplicato di questa domanda: How to combine two dictionaries without looping?Combinare due Dizionari con LINQ
Credo che la mia domanda è diverso perché sto chiedendo come combinare due dizionari in un modo particolare: voglio tutti gli articoli da Dictionary1 più tutti gli elementi da Dictionary2 che non sono in (cioè la chiave non esiste) in Dictionary1.
ho due dizionari come questo:
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;
vorrei combinarle in un nuovo dizionario (tecnicamente, non deve essere un dizionario, potrebbe essere solo una sequenza di KeyValuePairs
) come che l'output contiene tutto il KeyValuePairs
da d1 e solo KeyValuePairs da d2
la cui chiave non viene visualizzata in d1
.
Concettualmente:
var d3 = d1.Concat(d2.Except(d1))
Ma che mi sta dando tutti gli elementi da D1 e D2.
Sembra che dovrebbe essere ovvio, ma mi manca qualcosa.
Possibile duplicato [Come aggiungere 2 contenuti del dizionario senza eseguire il looping in C#] (http://stackoverflow.com/questions/712927/how-to-add-2-dicti onary-content-senza-looping-in-c-sharp) –
Questa domanda non è un duplicato di quella domanda. Questa domanda sta chiedendo come combinare due dizionari, d1 e d2, in modo che il dizionario risultante abbia tutti gli elementi da d1 più tutti gli elementi di d2 che non sono già in d1. L'altra domanda è chiedere e le risposte spiegano come combinare due dizionari senza condizioni aggiuntive. – wageoghe