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)))

Rowdp.Name = dp.GetValue(item);

ret.Rows.Add(Row);

}

return ret;

}

}

相关推荐
§ꦿCFོ༉3 小时前
嵌入式八股文—C语言入门学习(四)
c语言·开发语言·学习
投图匠3 小时前
十种不同风格的 CTP接口 框架
开发语言·python
爱笑的k116 小时前
nano-vllm 源码剖析:千行 Python 手写离线推理引擎的调度、显存与并行时序
开发语言·python·vllm
X1A0RAN8 小时前
PPT 图片批量处理教程:导出全部幻灯片 · 提取全部素材
开发语言·javascript·powerpoint
熊猫钓鱼>_>9 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
瑞雪兆丰年兮9 小时前
JavaWeb-day13-SpringBootWeb事务管理&AOP
java·开发语言·springboot·javaweb·事务·web·aop
布莱克60511 小时前
Swift 常量详解:从 let 到编译期优化
服务器·开发语言·ssh·swift·常量·let
布莱克60511 小时前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型
瑞雪兆丰年兮13 小时前
JavaWeb-day14-SpringBootWeb原理篇
java·开发语言·spring boot·spring·bean·mybatis·javaweb
SomeOtherTime14 小时前
Rust生命周期介绍(AI回答)
开发语言·后端·rust