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());
        }
  • 相关阅读:
    MMU讲解
    MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意
    gprof使用介绍
    SQLite在多线程环境下的应用
    C++ Boost库简介
    GDB调试手册[转]
    data-ng-show 指令
    AngularJS THML DOM
    AngularJS 表格
    AngularJS XMLHttpRequest
  • 原文地址:https://www.cnblogs.com/buguge/p/6126363.html
Copyright © 2011-2022 走看看