c# datarow 写入 list
时间: 2023-09-04 19:08:16 浏览: 67
可以通过遍历 DataTable 中的每一行,将每一行转换成一个实体对象,然后将实体对象添加到 List 中。以下是示例代码:
```csharp
List<MyEntity> list = new List<MyEntity>();
foreach (DataRow row in dataTable.Rows)
{
MyEntity entity = new MyEntity();
entity.Property1 = row["Column1"].ToString();
entity.Property2 = Convert.ToInt32(row["Column2"]);
// ...
list.Add(entity);
}
```
其中,MyEntity 是一个自定义的实体类,包含了需要读取的列的属性。在遍历每一行时,通过 DataRow 中的列名或列索引,获取列的值,并赋值给实体对象。最后将实体对象添加到 List 中即可。
相关问题
c# datarow 写入 list 实例
以下是将 DataRow 写入 List 的示例代码:
```csharp
List<DataRow> rowList = new List<DataRow>();
foreach (DataRow row in dataTable.Rows)
{
rowList.Add(row);
}
```
其中,dataTable 是一个 DataTable 对象,它包含要写入 List 的 DataRow 对象。循环遍历 DataTable 的每个 DataRow,并将其添加到 List 中。最终,rowList 将包含 DataTable 中的所有 DataRow。
c# datatable 写入 list
可以使用以下代码将 DataTable 转换为 List:
```csharp
public static List<T> ConvertDataTableToList<T>(DataTable dt)
{
List<T> data = new List<T>();
foreach (DataRow row in dt.Rows)
{
T item = GetItem<T>(row);
data.Add(item);
}
return data;
}
private static T GetItem<T>(DataRow dr)
{
Type temp = typeof(T);
T obj = Activator.CreateInstance<T>();
foreach (DataColumn column in dr.Table.Columns)
{
foreach (PropertyInfo pro in temp.GetProperties())
{
if (pro.Name == column.ColumnName)
pro.SetValue(obj, dr[column.ColumnName], null);
else
continue;
}
}
return obj;
}
```
调用方法:
```csharp
List<MyClass> list = ConvertDataTableToList<MyClass>(dataTable);
```
其中,MyClass 是你自己定义的类,包含与 DataTable 中列名相同的属性。