请告知我如何使用以下来源创建数据表:
public class MyClass : IEquatable<My>
{
public int field1 { get; set; }
public int field2 { get; set; }
}
List<MyClass> lst = new List<MyClass>();
MyClass e = new MyClass;
e.field1 = 1;
e.field2 = 2;
lst.Add(e);
如何使用Linq创建field1和field2值的数据表?
答案 0 :(得分:1)
不幸的是你不能使用任何很酷的LINQ特定代码,但是你可以创建一个DataTable,添加Columns,循环遍历你已经填充的List
DataTable dt = new DataTable();
dt.Columns.Add("field1");
dt.Columns.Add("Field2");
lst.ForEach(l => {
var dr = dt.NewRow();
dr[0] = l.field1;
dr[1] = l.field2;
dt.Rows.Add(dr);
});
答案 1 :(得分:1)
您可以使用CopyToDataTable扩展名方法。查看MSDN文章How to: Implement CopyToDataTable Where the Generic Type T Is Not a DataRow
DataTable table = lst.CopyToDataTable();