c# 隐含类型var 转换为 DataTable

/// <summary>

/// 隐含类型var 转换为 DataTable

/// </summary>

/// <typeparam name="T"></typeparam>

/// <param name="array"></param>

/// <returns></returns>

public static DataTable CopyToDataTable<T>(this IEnumerable<T> array)

{

var ret = new DataTable();

foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))

ret.Columns.Add(dp.Name, dp.PropertyType);

foreach (T item in array)

{

var Row = ret.NewRow();

foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))

Row[dp.Name] = dp.GetValue(item);

ret.Rows.Add(Row);

}

return ret;

}

}

相关推荐
minji...5 分钟前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
Dxy123931021612 分钟前
Python基于BERT的上下文纠错详解
开发语言·python·bert
wjs20242 小时前
JavaScript 语句
开发语言
cmpxr_3 小时前
【C】局部变量和全局变量及同名情况
c语言·开发语言
小碗羊肉4 小时前
【从零开始学Java | 第三十一篇下】Stream流
java·开发语言
aq55356004 小时前
Laravel10.x重磅升级,新特性一览
android·java·开发语言
报错小能手5 小时前
ios开发方向——swift错误处理:do/try/catch、Result、throws
开发语言·学习·ios·swift
网域小星球5 小时前
C 语言从 0 入门(十七)|结构体指针 + 动态内存 + 文件综合实战
c语言·开发语言·文件操作·结构体指针·动态内存·综合项目
aq55356005 小时前
三大编程语言深度对比:C# vs 易语言 vs 汇编
开发语言·汇编·c#