c# DataTable 帮助类

public class DataTableHelper

{

#region DataTable转IList

/// <summary>

/// DataTable转IList集合

/// </summary>

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

/// <param name="dataTable"></param>

/// <returns></returns>

public static IList<T> ToList<T>(DataTable dataTable) where T : class, new()

{

IList<T> list = new List<T>();// 定义集合

if (dataTable != null)

{

foreach (DataRow dr in dataTable.Rows)

{

T t = new T();

PropertyInfo[] propertys = t.GetType().GetProperties();// 获得此模型的公共属性

foreach (PropertyInfo pi in propertys)

{

var name = pi.Name;

if (dataTable.Columns.Contains(name))

{

if (!pi.CanWrite) continue;

object value = dr[name];

if (value != DBNull.Value)

{

pi.SetValue(t, value, null);

}

}

}

list.Add(t);

}

}

return list;

}

#endregion

}

相关推荐
zqy02273 分钟前
python安装与环境配置
开发语言·python
star learning white9 分钟前
xmC语言10
c语言·开发语言
拼好饭和她皆失12 分钟前
Java学习---Arrays类
java·开发语言·学习
Dev7z13 分钟前
基于MATLAB小波变换的音频水印算法研究与实现
开发语言·matlab·音视频
代码游侠14 分钟前
学习笔记——GDB调试工具
linux·开发语言·笔记·学习
“愿你如星辰如月”22 分钟前
C++11核心特性全解析
开发语言·c++
三毛人22 分钟前
php usdt地址生成
开发语言·php
前端之虎陈随易23 分钟前
基于Go重写的TypeScript 7可以用了
开发语言·golang·typescript
广都--编程每日问28 分钟前
c++右键菜单统一转化文件为utf8编码
c++·windows·python