/// <summary>
/// 将list转换成datatable
/// </summary>
/// <typeparam name="t"></typeparam>
/// <param name="data"></param>
/// <returns></returns>
public static datatable todatatable<t>(this ilist<t> data)
{
propertydescriptorcollection properties = typedescriptor.getproperties(typeof(t));
datatable dt = new datatable();
for (int i = 0; i < properties.count; i++)
{
propertydescriptor property = properties[i];
dt.columns.add(property.name, property.propertytype);
}
object[] values = new object[properties.count];
foreach (t item in data)
{
for (int i = 0; i < values.length; i++)
{
values[i] = properties[i].getvalue(item);
}
dt.rows.add(values);
}
return dt;
}
更多c#将list类型转换成datatable方法示例。