Append Dictionary onto an existing one

Hi,

I have an existing dictionary variable:

      Dictionary<string, string> itemList = new Dictionary<string, string> ();

And I would like to add the below one to it so the values are added to the end, its returned from a method.

       Dictionary<string, string> returnValue = new Dictionary<string, string> ();

ie somthing like:  itemList +=returnValue (I know this is wrong)

LVL 13
darren-w-Asked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
DhaestConnect With a Mentor Commented:
You can the concat

Dictionary<string, string> d3 = d1.Concat(d2).ToDictionary(e => e.Key, e => e.Value);
 
        foreach (var item in d3)
        {
            Console.WriteLine(item.Key);
        }
0
 
LlamaJoeConnect With a Mentor Commented:
using LINQ you can join into a new variable, and then assign it back to the original variable.

                    Dictionary<string, string> itemList = new Dictionary<string, string> ();
                    itemList.Add("a", "b");
                    Dictionary<string, string> returnValue = new Dictionary<string, string> ();
                    returnValue.Add("c", "d");

                    var newList = itemList.Concat(returnValue);

Dictionary is not a sealed class, so you could override the Add method to make a method to allow you to add another dictionary and return the result.
0
 
w00teConnect With a Mentor Commented:
From:
http://stackoverflow.com/questions/712927/how-to-add-2-dictionary-contents-without-looping-in-c

d1.Concat(d2).ToDictionary(x => x.Key, x => x.Value);

-w00te
0
 
w00teCommented:
Actually mine's prety much the same as Dhaest, go for his.  Sorry about that :)
-w00te
0
 
darren-w-Author Commented:
Ok thanks all
0
All Courses

From novice to tech pro — start learning today.