一 C# List转换DataTable 的方法:
public static DataTable ToDataTable<T>(IEnumerable<T> list)
{
PropertyInfo[] modelItemType = typeof(T).GetProperties();
DataTable dataTable = new DataTable();
dataTable.Columns.AddRange(modelItemType.Select(Columns => new DataColumn(Columns.Name, Columns.PropertyType)).ToArray());
if (list.Count() > 0)
{
for (int i = 0; i < list.Count(); i++)
{
ArrayList tempList = new ArrayList();
foreach (PropertyInfo pi in modelItemType)
{
object obj = pi.GetValue(list.ElementAt(i), null);
tempList.Add(obj);
}
object[] dataRow = tempList.ToArray();
dataTable.LoadDataRow(dataRow, true);
}
}
return dataTable;
}
文章转载出处: C# DataTable 和List之间相互转换的方法