您的位置:首页 >科技资讯 >正文

🌟 C中DataTable与List之间的转换方法 🌟

摘要 在C开发中,`DataTable`和`List`是两种常用的数据结构。`DataTable`适合用于数据表的操作,而`List`则更适合集合操作。两者之间的相互转换

在C开发中,`DataTable`和`List`是两种常用的数据结构。`DataTable`适合用于数据表的作,而`List`则更适合集合作。两者之间的相互转换可以提升代码的灵活性,尤其是在需要将数据库查询结果或集合数据进行灵活处理时。

首先,从`DataTable`到`List`的转换可以通过LINQ实现。例如:

```csharp

var list = dataTable.AsEnumerable()

.Select(row => new MyModel {

Id = row.Field("Id"),

Name = row.Field("Name")

}).ToList();

```

这段代码将`DataTable`中的每一行映射为一个对象,并存入`List`中。

反过来,从`List`到`DataTable`的转换也简单直观:

```csharp

public static DataTable ToDataTable(List items)

{

var table = new DataTable(typeof(T).Name);

var properties = typeof(T).GetProperties();

foreach (var prop in properties)

table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);

foreach (var item in items)

table.Rows.Add(properties.Select(p => p.GetValue(item)).ToArray());

return table;

}

```

这两种方法极大地提升了数据处理效率,无论是前端展示还是后端逻辑,都能游刃有余!💪

版权声明:本文由用户上传,如有侵权请联系删除!