Ask Your Question
4

How can C# be used to change a string into a Dictionary with a type of Dictionary<string, List<string>>?

asked 2023-05-26 07:01:02 +0000

pufferfish gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2023-05-26 07:20:01 +0000

david gravatar image

Assuming we have a string with key-value pairs separated by semicolons and each value separated by commas, we can use the following C# code to convert the string into a Dictionary with a type of Dictionary<string, list<string="">>:

string inputString = "key1:value1,value2,value3;key2:value4,value5;key3:value6,value7";

Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>();

string[] entries = inputString.Split(';');

foreach (string entry in entries)
{
    string[] keyValue = entry.Split(':');
    string key = keyValue[0];
    string[] values = keyValue[1].Split(',');

    List<string> listValues = new List<string>();
    foreach (string value in values)
    {
        listValues.Add(value);
    }

    dict.Add(key, listValues);
}

The above code first splits the input string into separate entries based on semicolons. Then for each entry, it splits it into key-value pairs based on colons, and splits the values into a string array based on commas. It creates a new List for each set of values, adds each value into the list, and finally adds the key-value pair into the Dictionary. The resulting Dictionary will have strings as keys and a List of strings as its values.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2023-05-26 07:01:02 +0000

Seen: 3 times

Last updated: May 26 '23