繁体   English   中英

使用嵌套的foreach迭代字典

[英]iterating through dictionary using nested foreach

这是带有以下示例数据的嵌套字典对。

{"A-BC-1111/AB.CD":{"P1":"F","P2":"0.0"}

我试图遍历它并创建一个这样的集合类:

public class FromDic
{
    string Name = "A-BC-1111/AB.CD";
    Attr1 = "F";
    Attr2 = "0.0";
}

我试图像这样做嵌套的foreach:

FromDic collectiondic=new FromDic();

foreach(var Key in MyDic)
{
    collectionDic.Name=Key;

    // key on the inner loop is for “Type” and “Val”
    foreach (var key in obj.Keys)
    {
        IJsonValue val;

        if (!obj.TryGetValue(key, out val))
            continue;

        switch (key)
        {
            case "P1":
                collectionDic.Attr1 = val.GetString();
                break;
            case "P2":
                collectionDic.Attr2 = val.GetNumber().ToString();
                break;
        }
    }
}

但是我的代码没有编译。 我可以做些什么来使这个嵌套的foreach工作?

我指的是你之前的问题 ,假设你正在使用Json.net

var list = jObj.Children()
            .Cast<JProperty>()
            .Select(p => new FromDic()
            {
                Name = p.Name,
                Attr1 = (string)p.Value["P1"],
                Attr2 = (string)p.Value["P2"]
            })
            .ToList();

public class FromDic
{
    public string Name;
    public string Attr1;
    public string Attr2;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM