zoukankan      html  css  js  c++  java
  • 遍历dynamic的方式

    一、遍历ExpandoObject

    /// <summary>
    /// 遍历ExpandoObject
    /// </summary>
    [TestMethod]
    public void GoThroughExpandoObject()
    {
        dynamic dynEO = new ExpandoObject();
        dynEO.number = 10;
        dynEO.Increment = new Action(() => { dynEO.number++; });
    
        Console.WriteLine(dynEO.number);
        dynEO.Increment();
        Console.WriteLine(dynEO.number);
    
        //dynEO.number 中number是动态添加属性。
        //dynEO.Increment 中Increment 是动态添加的Action 委托。
    
        //枚举ExpandoObject的所有成员:
    
        foreach (var property in (IDictionary<String, Object>)dynEO)
        {
            Console.WriteLine(property.Key + ": " + property.Value);
        }
    }

    二、对于dynamic是反序列化得到的对象时:

        dynamic expando = JsonConvert.DeserializeObject<dynamic>(requestMessage);
        // 将ExpandoObject转换为SortedDictionary
        SortedDictionary<string, string> dic = new SortedDictionary<string, string>();
    
        foreach (var property in expando)
        {
            dic.Add(property.Name.ToLower(), property.Value.ToString());
        }
  • 相关阅读:
    webstorm-快捷键大全
    JavaScript-创建对象
    JavaScript-字符串的使用
    IE8 CSS hack
    jQuery-导航下拉菜单-实用简单
    jQuery-表格属性
    jQuery-图片轮播-随意切换图片
    jQuery-图片放大镜
    UVAlive3486_Cells
    SPOJ BOXES
  • 原文地址:https://www.cnblogs.com/buguge/p/6126363.html
Copyright © 2011-2022 走看看