• list转datatable


     /// 转换为一个DataTable
            /// <summary>
            /// 转换为一个DataTable
            /// </summary>
            /// <typeparam name="TResult"></typeparam>
            /// <param name="value"></param>
            /// <returns></returns>
            public static DataTable ToDataTable<TResult>(this IEnumerable<TResult> value) where TResult : class
            {
                //创建属性的集合
                List<PropertyInfo> pList = new List<PropertyInfo>();
    
                //获得反射的入口
                Type type = typeof(TResult);
                DataTable dt = new DataTable();
                //把所有的public属性加入到集合 并添加DataTable的列
                Array.ForEach<PropertyInfo>(type.GetProperties(), p => { pList.Add(p); dt.Columns.Add(p.Name, p.PropertyType); });
                foreach (var item in value)
                {
                    //创建一个DataRow实例
                    DataRow row = dt.NewRow();
                    //给row 赋值
                    pList.ForEach(p => row[p.Name] = p.GetValue(item, null));
                    //加入到DataTable
                    dt.Rows.Add(row);
                }
                return dt;
            }
    
  • 相关阅读:
    1767:字符合并
    成绩单
    floj 2264
    floj 2265 【lxs Contest #141】航海舰队
    CF932D Tree
    1745:分组
    1744:跳台阶
    Xamarin.Forms之跨平台性能
    Xamarin.Forms之部署和测试(性能)
    Xamarin.Forms数据绑定
  • 原文地址:https://www.cnblogs.com/lelese7en/p/2995201.html
Copyright © 2020-2023  润新知