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;

}

}

相关推荐
程序员-周李斌15 小时前
ArrayBlockingQueue 源码解析
java·开发语言·后端·哈希算法·散列表
Tim_1015 小时前
【C++入门】02、C++程序初识
开发语言·c++
lkbhua莱克瓦2415 小时前
项目知识——Next.js App Router体系
开发语言·javascript·项目知识
Cricyta Sevina15 小时前
Java 语言多线程核心概念全解析
java·开发语言
缘三水16 小时前
【C语言】15.指针(5)
c语言·开发语言·指针·语法
爱吃大芒果16 小时前
从零开始学 Flutter:状态管理入门之 setState 与 Provider
开发语言·javascript·flutter
清风拂山岗 明月照大江16 小时前
简单文件 IO 示例:使用系统调用读写文件
开发语言·c++·算法
技术净胜16 小时前
MATLAB文本文件读写实操fopen/fscanf/fprintf/fclose全解析
开发语言·matlab
编织幻境的妖16 小时前
Python垃圾回收机制详解
开发语言·python