c# - 将数据表转换为泛型类型列表

标签 c# .net linq datatable

如何将数据表转换为泛型类型列表。下面是场景。 我有名为 table1 的数据表并包含列 col1,col2我们如何将此表转换为类型名称 table1bj 的列表(每个数据表名称可能不同)具有属性 col1 和 col2 以及数据表列数据类型的兼容数据类型。

有很多关于 SO 的帖子,但这些都是将数据表转换为预定义的对象列表。就我而言,我必须从数据表动态生成对象并列出。谢谢。

最佳答案

假设您已经创建了类 table1bj (由于 .NET 命名约定,请考虑将其设为大写)具有两个属性 col1 , col2 (相同)。您只需使用 Enumerable.Select创建此类的实例和 ToList创建通用 List<table1bj> :

List<table1bj> result = table1.AsEnumerable()
    .Select(row => new table1bj 
                       { 
                           col1 = row.Field<string>("col1"), 
                           col1 = row.Field<string>("col1") 
                       }
    ).ToList();

我还假设这些属性是 string s,否则请使用正确的类型 Field扩展方法。如果您不知道类型,您应该保留 DataTable因为它已经是一个具有动态类型的内存集合。

关于c# - 将数据表转换为泛型类型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20562462/

相关文章:

c# - EF 核心 : how to validate data exists by condition in OnModelCreating

c# - NLog 避免重复行并设置增量时间

c# - 如何通过扩展方法隐藏成员方法

c# - 如何在不删除文件的情况下清除文本文件?

.net - 使用 VB.NET 从 KML 中提取多边形名称和坐标

c# - 如何在投影的 Entity Framework 对象中包含复杂的实体字段?

c# - 如何减慢动画gif

c# - 我不能在此处将我的 ADO.NET 实体模型实例包装在 using 语句中吗?

c# - 使用 LINQ select 过滤 Dictionary<string, string>

C# Expression 基于 AST 同时使用 And Or 和 Not 表达式