zoukankan      html  css  js  c++  java
  • 实体对象属性和值转为键值对Dictionary

    实体对象转为Dictionary键值对

        /// <summary>
            /// 实体转键值对
            /// </summary>
            /// <typeparam name="T">泛型</typeparam>
            /// <param name="obj"></param>
            /// <returns></returns>
            public static Dictionary<string, string> EntityToDictionary<T>(T obj) where T : class
            {
                //初始化定义一个键值对,注意最后的括号
                Dictionary<string, string> dic = new Dictionary<string, string>();
                //返回当前 Type 的所有公共属性Property集合
                PropertyInfo[] props = typeof(T).GetProperties();
                foreach (PropertyInfo p in props)
                {
                    var property = obj.GetType().GetProperty(p.Name);//获取property对象
                    var value = p.GetValue(obj);//获取属性值
                    dic.Add(p.Name, StringHelper.valueOf(value));
                }
                return dic;
            }

    上文中的StringHelper.valueOf(value)为对象转为字符串,可避免value为null时保存,具体方法为:

    public static String valueOf(Object obj)
    {
      return (obj == null) ? "null" : obj.ToString();
    }
  • 相关阅读:
    洛谷 P1032 子串变换
    RCTF 2017 easyre153
    SUCTF 2016 : dMd
    南邮 base64全家桶
    洛谷 P1908 逆序对
    2019中山大学程序设计竞赛 Triangle
    WhiteHat Contest 11 : re1100
    P1010 幂次方
    洛谷 P1088 火星人
    南邮 骚年来一发吗
  • 原文地址:https://www.cnblogs.com/Chavezcn/p/7538855.html
Copyright © 2011-2022 走看看