明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

linq ListT 转换为 datatable

[摘要]linq List 转换为 datatable,在项目中遇到用linq 返回的是list,但是我另外一个类中有个方法是需要datatable,这样就需要把linq 的 List 转换为 datatable。主要代码: public static System.Data.DataT...

 


linq List 转换为 datatable,
在项目中遇到用linq 返回的是list,但是我另外一个类中有个方法是需要datatable,这样就需要把linq  的 List 转换为 datatable。

主要代码:

         public static System.Data.DataTable ConvertToDataTable(IEnumerable data)
         {
             var dt = new System.Data.DataTable();
             var ps = typeof(T).GetProperties().ToList();
             ps.ForEach(p => dt.Columns.Add(p.Name, p.PropertyType));

             foreach (T t in data)
             {
                 var dr = dt.NewRow();
                 var vs = from p in ps select p.GetValue(t, null);
                 var ls = vs.ToList();
                 int i = 0;
                 ls.ForEach(c => dr[i++] = c);
                 dt.Rows.Add(dr);
             }
             return dt;
         }

 


常见的网络操作系统有UNIX、Netware、Windows NT、Linux等,网络软件的漏洞及缺陷被利用,使网络遭到入侵和破坏。