/// <summary>
/// 将Datatable转换为List集合
/// </summary>
/// <typeparam name="T">类型参数</typeparam>
/// <param name="dt">datatable表</param>
/// <returns></returns>
public static List<T> DataTableToList<T>(DataTable dt)
{
var list = new List<T>();
Type t = typeof(T);
var plist = new List<PropertyInfo>(typeof(T).GetProperties());
foreach (DataRow item in dt.Rows)
{
T s = System.Activator.CreateInstance<T>();
for (int i = 0; i < dt.Columns.Count; i++)
{
PropertyInfo info = plist.Find(p => p.Name == dt.Columns[i].ColumnName);
if (info != null)
{
if (!Convert.IsDBNull(item[i]))
{
info.SetValue(s, item[i], null);
}
}
}
list.Add(s);
}
return list;
}
本文介绍了一种将Datatable转换为List<T>的方法。通过使用泛型和反射机制,此方法能够灵活地处理不同类型的数据,并将Datatable中的数据映射到指定类型的实例中。
2521

被折叠的 条评论
为什么被折叠?



