如何循环遍历这个字典

本文关键字:遍历 字典 循环 何循环 | 更新日期: 2023-09-27 18:10:34

我已经像这样声明了一个字典:

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

怎么循环呢?我想要这样的东西,所以我创建了这个字典:

name1oldValue1newValue1

name2oldValue2newValue2

如何循环遍历这个字典

可以像这样循环使用

foreach (var pair in dc)
{
    string name = pair.Key;
    string oldValue = pair.Value.Key;
    string newValue = pair.Value.Value;
    // use the values 
}

但是我觉得你用错了工具。在我看来,您确实需要继续并定义一个适当的类来保存名称和值,然后只使用该类的List<T>

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

当你循环一个字典时,你使用的KeyValuePair是泛型的。由于您的字典包含字符串形式的键和字符串形式的值,因此此字典也将同时接受字符串。

可以用kvp.Key访问键,用kvp.Value访问值。

对于您的示例,您正在使用包含KeyValuePair值的string Dictionary。所以,你可以用

打印出你想要的效果
foreach( KeyValuePair<string, KeyValuePair<string,string>> kvp in  dc )
{
    Console.WriteLine(kvp.Key + " " + kvp.Value.Key + " "+ kvp.Value.Value);
}