List转换成DataTable怎么转换
时间: 2024-03-17 22:44:56 浏览: 67
DataTable 和List 相互转换
5星 · 资源好评率100%
将 List 转换为 DataTable 可以使用以下代码:
1. 定义 DataTable 的结构,包括列名和数据类型:
```csharp
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Id", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Age", typeof(int));
```
2. 遍历 List 中的数据,将每一行数据添加到 DataTable 中:
```csharp
foreach (var item in list)
{
DataRow row = dataTable.NewRow();
row["Id"] = item.Id;
row["Name"] = item.Name;
row["Age"] = item.Age;
dataTable.Rows.Add(row);
}
```
其中,NewRow() 方法用于创建一个新的 DataRow 对象,然后将 List 中的每一个对象的属性值赋值给 DataRow 中对应的列,最后将 DataRow 添加到 DataTable 中的 Rows 集合中。
注意,如果 List 中的对象属性名与 DataTable 中的列名不一致,需要在赋值时使用正确的列名。
转换完成后,就可以使用 DataTable 中的数据进行后续操作了。
另外,如果使用的是 .NET Framework 4.6 或更高版本,可以使用 DataTable 的扩展方法 CopyToDataTable() 直接将 List 转换为 DataTable,代码如下:
```csharp
DataTable dataTable = list.CopyToDataTable();
```
该方法会自动根据 List 中对象的属性来创建 DataTable 的结构和数据。但是需要注意的是,如果 List 中没有任何数据,该方法会抛出异常。
阅读全文