泛型集合转换为DataTable
在做项目中,遇到了将集合转换为DataTable的使用,在网上看了资料,在这里记录下来,分享。
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Wolfy.List2DataTable { class Program { static void Main(string[] args) { List<Person> lst = new List<Person>() { , Gender=false, Name="wolfy1"}, , Gender=false, Name="wolfy2"}, , Gender=false, Name="wolfy3"}, , Gender=false, Name="wolfy4"}, , Gender=false, Name="wolfy5"}, }; DataTable dt = List2DataTable<Person>(lst); Console.WriteLine("转换结束"); Console.Read(); } /// <summary> /// 将泛型集合转换为datatable /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="entities"></param> /// <returns></returns> static DataTable List2DataTable<TEntity>(List<TEntity> entities) { if (entities == null) { throw new ArgumentNullException("转换的集合为空"); } Type type = typeof(TEntity); PropertyInfo[] properties = type.GetProperties(); DataTable dt = new DataTable(type.Name); foreach (var item in properties) { dt.Columns.Add(new DataColumn(item.Name) { DataType = item.PropertyType }); } foreach (var item in entities) { DataRow row = dt.NewRow(); foreach (var property in properties) { row[property.Name] = property.GetValue(item); } dt.Rows.Add(row); } return dt; } } public class Person { public int ID { set; get; } public string Name { set; get; } public bool Gender { set; get; } } }
泛型集合转换为DataTable的更多相关文章
- [工具类]泛型集合转换为DataTable
写在前面 在实际项目中,用到了将集合转换为DataTable,就试着封装了一个方法,记录一下. 代码 using System; using System.Collections.Generic; u ...
- C#基础知识之泛型集合转换为DataTable
在做项目中,遇到了将集合转换为DataTable的使用,在网上看了资料,在这里记录下来,分享. using System; using System.Collections.Generic; usin ...
- 泛型集合、datatable常用数据类型转换Json帮助类
泛型集合.datatable常用数据类型转换Json帮助类 using System; using System.Data; using System.Configuration; using Sys ...
- linq之将IEnumerable<T>类型的集合转换为DataTable类型 (转载)
在考虑将表格数据导出成excel的时候,网上搜的时候找到一个特别合适的公共方法,可以将query查询出来的集合转换为datatable 需引用using System.Reflection; publ ...
- 使用泛型集合取代datatable作为返回值实现面向对象
开会的时候,师父说.我们在机房重构时,尽量不要用datatable作为返回值.改用泛型集合的方式,这样能够实现真正的面向对象. 通过查资料和同学交流,把这个问题给攻克了. 对于泛型集合.我也有了一些认 ...
- C#;DataTable添加列;DataTable转List泛型集合;List泛型集合转DataTable泛型集合;
给DataTable添加列 string sql = "select * from cgpmb order by code"; DataTable dt = Bobole.Data ...
- c#将list集合转换为datatable的简单办法
public static class ExtensionMethods { /// <summary> /// 将List转换成DataTabl ...
- C# 集合转换为DataTable
该类就用了几个类型,如int,int?,string,所以其它类型就先没管. 用到的类: public class tb_Projects { public int ProID { get; set; ...
- List泛型集合转DataTable
自存,此方法可以防止出现DataSet不支持System.Nullable的错误 public static DataTable ToDataTable<T>(IEnumerable< ...
随机推荐
- .NET中使用Memcached的相关资源整理(转)
Memcached官方站点:http://www.danga.com/memcached/ Memcached Win32 1.2.6下载:http://code.jellycan.com/memca ...
- aria-expanded,aria-hidden到底做什么用?
aria-expanded表示展开状态.默认为undefined, 表示当前展开状态未知.其它可选值:true表示元素是展开的:false表示元素不是展开的. aria-hidden字符串.可选值为t ...
- java中传递数组的写法
var arr=["110","120","119"]; //如果浏览器不支持JSON,就使用json2.js,json2.js的源码放在最 ...
- 九度OJ1207
题目给你了一个很大的n,然后让你去计算它的质因数.对N进行开方得到的是一个大约在32000左右的数,我们可以用埃氏筛法进行素数打表.对所有prime[i]<=sqrt(n),分别看prime[i ...
- Antlr学习
参加工作之后,接触DSL领域语言,了解了编译原理. 比如Hibernate.Hive等的HQL都是基于antlr编写的 所以,如果想自己实现一套DSL语言,我们可以基于antlr做词法分析与语法分析 ...
- 一个JS定时器类
学习js,因为函数和定时器直接的关系是非绑定的.我不能说我开启一个定时,然后拿一个变量去记录这个setInterval的返回值,这样很麻烦. 本着面向对象的思想,利用业余时间(周末在家里)写了一个类, ...
- window8.1中用户的管理员权限的提升方法
1.使用命令netplwiz 2.点击确定后出现如下所示的内容,选择待修改的用户 3.然后点击属性,出现如图的内容 在上图中选中管理员左侧的单选按钮便可以了,将当前用户提升为管理员账户.
- 解决error C2059: 语法错误:“::”问题
错误代码提示: >f:\opencv\opencv\build\include\opencv2\flann\lsh_table.h(): error C2059: 语法错误:“::”f:\ope ...
- js实现自动登陆的按钮
自动按钮,只要实现当移入是提示用户不要在公共地方使用自动登陆 主要用onmouseover函数,本来提示div隐藏,当移入时div显示. <style type="text/css&q ...
- 百度地图API的使用方法
百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html> 2. <head& ...