1

请建议我如何使用以下来源创建数据表:

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 值的数据表?

4

2 回答 2

1

您可以使用CopyToDataTable扩展方法。查看 MSDN 文章How to: Implement CopyToDataTable where the Generic Type T is not a DataRow

DataTable table = lst.CopyToDataTable();
于 2013-08-29T02:53:04.553 回答
1

不幸的是,您不能使用任何酷炫的 LINQ 特定代码,但您可以创建一个 DataTable,添加列,遍历您填充的列表

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);
});
于 2013-08-28T23:04:36.850 回答