3

我想循环一个包含字典的数组列表。

foreach(Dictionary<string, string> tempDic in rootNode) 
{ 
    Response.Write(tempDic.key + "," tempDic.value + "<br>"); 
} 

如何访问字典键和值?

4

2 回答 2

4

您还需要在字典中循环,为此您可以迭代tempDicusing Foreach

foreach(Dictionary<string, string> tempDic in rootNode) 
{
    foreach(KeyValuePair<string, string> _x in tempDic)
    {
        Response.Write(_x.key + "," + _x.value + "<br>");
    }
}
于 2012-10-17T04:00:23.330 回答
0

您可以先使用 LINQ 来获取IEnumerable<KeyValuePair<string, string>>所有KeyValuePairs 的列表(实际上):

var pairs = rootNode.OfType<Dictionary<string, string>>()
                    .SelectMany(d => d.AsEnumerable());
foreach (KeyValuePair<string, string> tempPair in pairs)
{
    Response.Write(tempPair.Key + "," + tempPair.Value + "<br>");
}

所以,只做一个 foreach 循环就足够了。另一个将由 LINQ 为您完成。

于 2012-10-17T04:23:28.240 回答