/// <summary>
/// 将泛类型集合List类转换成DataTable
/// </summary>
/// <param name="list">泛类型集合</param>
/// <returns></returns>
public static DataTable ListToDataTable<T>(List<T> entitys)
{
//检查实体集合不能为空
if (entitys == null || entitys.Count < 1)
{
throw new Exception("需转换的集合为空");
}
//取出第一个实体的所有Propertie
Type entityType = entitys[0].GetType();
PropertyInfo[] entityProperties = entityType.GetProperties();

//生成DataTable的structure
//生产代码中,应将生成的DataTable结构Cache起来,此处略
DataTable dt = new DataTable();
for (int i = 0; i < entityProperties.Length; i++)
{
//dt.Columns.Add(entityProperties[i].Name, entityProperties[i].PropertyType);
dt.Columns.Add(entityProperties[i].Name);
}
//将所有entity添加到DataTable中
foreach (object entity in entitys)
{
//检查所有的的实体都为同一类型
if (entity.GetType() != entityType)
{
throw new Exception("要转换的集合元素类型不一致");
}
object[] entityValues = new object[entityProperties.Length];
for (int i = 0; i < entityProperties.Length; i++)
{
entityValues[i] = entityProperties[i].GetValue(entity, null);
}
dt.Rows.Add(entityValues);
}
return dt;
}

转载于:https://www.cnblogs.com/leischen/archive/2012/09/22/2698326.html

C# 泛型LIST转DataTable相关推荐

  1. 【机房收费个人版】DataTable 与泛型集合的较量

    将近三周的时间,我学到了很多知识,让我受益匪浅!也通过这三周的积累和整理,现在是时候写博客分享我的所知所得了..下面主要写DataTable.泛型集合以及它们之间的比较.. DataTable     ...

  2. C#利用反射将Datatable转化为指定实体类ListT

    背景介绍 在软件开发中肯定免不了和数据库打交道,我们对数据的增删改查最终会转化为SQL在数据库中执行.从SQLServer中查出数据一般有两种方式:一是ADO.NET直接写SQL语句从数据中查出数据, ...

  3. 初识DataTable

    在重构机房时,D层负责与数据库交互.D层对数据库进行查询操作,返回的值是DataTable对象.在系统中可以通过DataTable对象给窗体中的TextBox.DataGridView等控件赋值,也可 ...

  4. postgresql批量插入数据脚本_每日踩坑 2020-11-04 PostgreSQL 批量插入数据

    一看居然两三个月没写博文了.凑.最近去考了个试,老天保佑吧. 今天有个同事跑来问我,我之前写的数据同步工具支不支持 PostgreSQL. 然后跟我讲了他的需求.感觉我随手写的小东西开始变成整个部门的 ...

  5. .net Json JavaScriptSerializer JsonHelper类

    结合.net 的JavaScriptSerializer 类实现Json数据处理 调用1: Model.Users m = BLL.UsersBLL.GetUserById(Convert.ToInt ...

  6. badatatable转成json_datatable转换为json

    C#无需第三方插件实现json和table互转 C# 数据库查询结果table转化为json字符串,或反向把json字符串转换为DataTable数据集合 以下代码经实践简单可用. 转换通用类定义: ...

  7. 實戰案例 - 微信平台與自有產品資料對接 (2)

    前面瞭解過程式的背景需求和基本架構之後,接著就來看整個開發工作是靠哪些原始碼兜起來的.因為兩個 WinForm 的原始碼骨架都差不多,所以這邊就拿 SybaseUtility 專案當範例. Servi ...

  8. C#如何根据DataTable生成泛型List或者动态类型list

    背景:在项目中,sql语句检索返回DataTable,然后根据检索结果做进一步的操作,本篇文章即是介绍如何将DataTable快速生成泛型List返回. 假设存在如下学生类: 1 public cla ...

  9. datatable转化泛型

    public class ConvertHelper<T>where T:new() { /// <summary> /// 利用反射和泛型 /// </summary& ...

  10. [工具类]DataTable与泛型集合List互转

    写在前面 工作中经常遇到datatable与list,对于datatable而言操作起来不太方便.所以有的时候还是非常希望通过泛型集合来进行操作的.所以这里就封装了一个扩展类.也方便使用. 类 方法中 ...

最新文章

  1. vue 手机键盘把底部按钮顶上去
  2. 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari...
  3. 通过url,获取html内容,并解析
  4. 矩阵的特征值和特征向量的雅克比算法C/C++实现
  5. VTK:IO之ReadBMP
  6. 素数与线性筛选法初级版
  7. app图标圆角角度_教你如何绘制风格统一的APP界面图标
  8. 没网?没问题。用Air Gap使用Artifactory
  9. mysql语言基础实验报告_sql语言实验报告
  10. 【机器学习实践】Kaggle 之 Face Verification Challenge练手
  11. Tapestry中listener监听方法传递参数的方式
  12. 相册制作软件--4月精选婚纱相册模板{H1.爱的天空}样片
  13. 单目标跟踪算法:SiamRPN++
  14. 前端程序员必看的网站专属前端程序员的“hao123“
  15. vulnhub-2much
  16. python numpy矩阵_python中numpy矩阵运算操作大全(非常全)!
  17. java设计九宫格拼图软件哪个好用_九宫格拼图软件下载_抖音很火的九宫格拼图软件app下载_易玩网...
  18. 9.3.5 幻方 (20分)
  19. nvm最全面的下载安装教程
  20. CCF ChinaSoft 2022中国软件大会火热报名中

热门文章

  1. PHP代码更新后画面不更新,为什么我的PHP代码不能更新SQL
  2. python创建gui界面_你要的 Python 创建 GUI 用户界面程序,来咯
  3. python下载微信公众号文章_python下载微信公众号相关文章
  4. JAVA-idea中maven配置
  5. JS实现改变复选框选中行中指定单元格背景色(状态改变事件)
  6. java改变人物动作_Java创建对象的动作分析
  7. oracle系统AP对应的凭证编号,AP主要账户及会计分录
  8. pandas 日期比较大小_计算pandas Dataframe中的日期时间差异
  9. 苹果亮度自动调节怎么关闭_iPhone 总是自动亮屏,该怎么关闭?
  10. 原生js实现form表单序列化