开发者

How to loop through this dictionary

开发者 https://www.devze.com 2023-04-10 16:12 出处:网络
I have declared a dictionary li开发者_Go百科ke this: Dictionary<string, KeyValuePair<string, string>> dc = new Dictionary<string, KeyValuePair<string, string>>();

I have declared a dictionary li开发者_Go百科ke this:

Dictionary<string, KeyValuePair<string, string>> dc = new Dictionary<string, KeyValuePair<string, string>>();

now how can I loop through it? I wanted something like the following so I created that dictionary:

name1 oldValue1 newValue1

name2 oldValue2 newValue2

...


You can loop through it like so

foreach (var pair in dc)
{
    string name = pair.Key;
    string oldValue = pair.Value.Key;
    string newValue = pair.Value.Value;

    // use the values 
}

But I have a feeling you're using the wrong tool for the job. It sounds to me like you really need to go ahead and define a proper class to hold the names and values, and then just work with a List<T> of that class.


foreach( KeyValuePair<string, string> kvp in  dc )
{
    Console.WriteLine("Key = {0}, Value = {1}",  kvp.Key, kvp.Value);
}

When you loop a dictionary you use KeyValuePair that is generic. Since your dictionary contain the key as string and the value as string, this one will take also a string for both.

You can access the key with kvp.Key and the value with kvp.Value.

For your example, you are using a Dictionary of string that contain a value of KeyValuePair. So, you can have the exact print you want with :

foreach( KeyValuePair<string, KeyValuePair<string,string>> kvp in  dc )
{
    Console.WriteLine(kvp.Key + " " + kvp.Value.Key + " "+ kvp.Value.Value);
}
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号