欢迎光临
我的个人博客网站

list转datatable(支持匿名类型)

 /// <summary>         /// List转成DataTable         /// </summary>         /// <typeparam name="T"></typeparam>         /// <param name="varlist"></param>         /// <returns></returns>         public static DataTable ListToDataTable<T>(IEnumerable<T> varlist)         {             DataTable dtReturn = new DataTable();             PropertyInfo[] oProps = null;              if (varlist == null) return dtReturn;              foreach (T rec in varlist)             {                 if (oProps == null)                 {                     oProps = rec.GetType().GetProperties();                     foreach (PropertyInfo pi in oProps)                     {                         Type colType = pi.PropertyType;                          if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition()                         == typeof(Nullable<>)))                         {                             colType = colType.GetGenericArguments()[0];                         }                          dtReturn.Columns.Add(new DataColumn(pi.Name, colType));                     }                 }                  DataRow dr = dtReturn.NewRow();                  foreach (PropertyInfo pi in oProps)                 {                     dr[pi.Name] = pi.GetValue(rec, null) == null ? DBNull.Value : pi.GetValue                     (rec, null);                 }                  dtReturn.Rows.Add(dr);             }             return dtReturn;         }

应用举例:

list转datatable(支持匿名类型)

 

赞(0) 打赏
未经允许不得转载:张拓的天空 » list转datatable(支持匿名类型)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专业的IT技术经验分享 更专业 更方便

联系我们本站主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏