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 = drname;

if (value != DBNull.Value)

{

pi.SetValue(t, value, null);

}

}

}

list.Add(t);

}

}

return list;

}

#endregion

}

相关推荐
c++之路4 分钟前
CMake 系列教程(二):基础命令详解
开发语言·c++
南境十里·墨染春水4 小时前
C++ 工厂模式:从入门到进阶,彻底掌握对象创建的艺术
开发语言·c++·算法
C+++Python5 小时前
详细介绍一下Java泛型的通配符
java·windows·python
能喵烧香5 小时前
深度解析:Linux 与 Windows 超级权限账户的本质差异
linux·windows
JosieBook6 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
加号36 小时前
【C#】 文件与目录管理:创建、删除操作的技术解析
开发语言·c#
diving deep6 小时前
脚本速览-python
开发语言·python
一生了无挂6 小时前
Java处理JSON技巧教学(从基础到高阶实战全覆盖)
java·开发语言·json
swordbob7 小时前
Spring 单例 Bean 是线程安全的吗?
java·开发语言
小小编程路8 小时前
C++ 异常 完整讲解
开发语言·c++