zoukankan      html  css  js  c++  java
  • C# 类型转换

         /// <summary>
            /// 将DataTable 转换为 List集合
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="dt"></param>
            /// <returns></returns>
            public List<T> DtToModel<T>(DataTable dt) where T : class, new()
            {
                List<T> list = new List<T>();
                T model = new T();
                Type type = typeof(T);
                PropertyInfo[] props = type.GetProperties();
                foreach (DataRow dr in dt.Rows)
                {
                    foreach (var item in props)
                    {
                        if (dt.Columns.Contains(item.Name))
                        {
                            item.SetValue(model, dr[item.Name]);
                        }
                    }
                    list.Add(model);
                }
                return list;
            }
            /// <summary>
            /// 将实体模型转换为DataTable
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="model"></param>
            /// <returns></returns>
            public DataTable ModelToDt<T>(T model) where T : class, new()
            {
                Type type = typeof(T);
                DataTable dt = new DataTable();
                PropertyInfo[] props = type.GetProperties();
                foreach (var item in props)
                {
                    dt.Columns.Add(item.Name);
                }
                DataRow dr = dt.NewRow();
                foreach (var item in props)
                {
                    if (dt.Columns.Contains(item.Name))
                    {
                        dr[item.Name] = item.GetValue(model);
                    }
                }
                dt.Rows.Add(dr);
                return dt;
            }
    

      

      

  • 相关阅读:
    abc
    与7无关的数
    字符串排序
    质因数的个数
    符号运算
    底层代码创建GUI
    图像处理基础---RGB图 灰度图 索引图 调色板
    82.游戏项目-椭圆轨迹的实现
    81.游戏项目-物体任意角度飞行和停止
    80.游戏项目-物体的移动
  • 原文地址:https://www.cnblogs.com/wmm0105/p/11764396.html
Copyright © 2011-2022 走看看