将DataTable转化为List
- 创建实体类,以存储转换后的数据。
在转换DataTable之前,你需要创建一个实体类来存储转换后的数据。这个实体类的每个属性应该与DataTable的每一列对应。例如,如果你的DataTable有3列(ID,Name和Age),那么你需要创建一个类,这个类应该包含3个属性:ID、Name和Age。
public class MyData
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
- 创建一个List
, 将DataTable中的每一行转换为实体类对象,最后将所有实体类对象添加到List 中。
下面是将DataTable转换为List
List<MyData> dataList = new List<MyData>();
foreach (DataRow row in dataTable.Rows)
{
MyData data = new MyData()
{
ID = Convert.ToInt32(row["ID"]),
Name = row["Name"].ToString(),
Age = Convert.ToInt32(row["Age"])
};
dataList.Add(data);
}
在上述代码中,我们首先创建了一个空的List
另外一个示例是使用Linq方式将DataTable转换为List
List<MyData> dataList = dataTable.AsEnumerable().
Select(row => new MyData
{
ID = Convert.ToInt32(row["ID"]),
Name= row["Name"].ToString(),
Age = Convert.ToInt32(row["Age"])
}).ToList();
在这个示例中,我们使用AsEnumerable()和Select()方法从DataTable中选择所有行,并将这些行使用指定的委托转换为MyData对象。最后,我们使用ToList()方法将所有MyData对象保存到List
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#将DataTable转化为List