Add an Array to a Dictionary in C#

45,752

Solution 1

An array is string[], not List<string>, so just do this:

Dictionary<string, string[]> wordDictionary = new Dictionary<string, string[]>();

Now you can add your array as usual.

wordDictionary.Add("IN", IN);

Or:

wordDictionary.Add("IN", new string[] {"Against","Like","Upon","Through","Of","With","Upon","On","Into","From","by","that","In","About","For","Along","Before","Beneath","At","Across","beside","After","Though","Among","Toward","If"});

Solution 2

Dictionary.Add("IN", new List<string>(IN));

...if you want to keep the current signature for your dictionary.

If you change it to Dictionary<string, string[]> then you can just:

Dictionary.Add("IN",IN);

Solution 3

You currently have a string array, not a list - so it should be:

Dictionary<string, string[]> wordDictionary  = new Dictionary<string,string[]> ()

Then you can just add items like:

wordDictionary.Add("IN" , IN);
Share:
45,752
miltonjbradley
Author by

miltonjbradley

Updated on August 02, 2022

Comments

  • miltonjbradley
    miltonjbradley almost 2 years

    I have tried reading the other posts on this subject and can't quite figure this out.

    I have a list in C# that I want to put in a dictionary with all of the same keys. The list is this

    string[] IN ={"Against","Like","Upon","Through","Of","With","Upon","On","Into","From","by","that","In","About","For"
        ,"Along","Before","Beneath","At","Across","beside","After","Though","Among","Toward","If"};
    

    I want to create and populate a dictionary with the key being "IN" (the name of the array) and then having each string for the array in the dictionary.

    This is what I wrote to create the dictionary (which I am not sure is correct):

    Dictionary<string, List<string>> wordDictionary = new Dictionary<string, List<string>> ()
    

    But I am not sure how to populate the dictionary.

    Any help would be greatly appreciated as this is the first time I have tried to use a dictionary and I am new to C#

  • miltonjbradley
    miltonjbradley about 12 years
    Minitech, This worked great thanks! I guess my question now is how do I access the individual strings in the array that is in the dictionary?
  • Ry-
    Ry- about 12 years
    @miltonjbradley: Like any other array; by index (wordDictionary["IN"][0] == "Against") or by looping (foreach(string word in wordDictionary["IN"])) somehow.