首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将DataTable转换为泛型列表?

如何将DataTable转换为泛型列表?
EN

Stack Overflow用户
提问于 2008-10-16 13:23:51
回答 23查看 552.1K关注 0票数 198

目前,我使用的是:

代码语言:javascript
复制
DataTable dt = CreateDataTableInSomeWay();

List<DataRow> list = new List<DataRow>(); 
foreach (DataRow dr in dt.Rows)
{
    list.Add(dr);
}

有没有更好的/神奇的方法?

EN

回答 23

Stack Overflow用户

回答已采纳

发布于 2008-10-16 13:59:02

如果你使用的是.NET 3.5,你可以使用DataTableExtensions.AsEnumerable (一种扩展方法),然后如果你真的需要一个List<DataRow>而不仅仅是IEnumerable<DataRow>,你可以调用Enumerable.ToList

代码语言:javascript
复制
IEnumerable<DataRow> sequence = dt.AsEnumerable();

代码语言:javascript
复制
using System.Linq;
...
List<DataRow> list = dt.AsEnumerable().ToList();
票数 296
EN

Stack Overflow用户

发布于 2011-12-16 02:44:19

代码语言:javascript
复制
List<Employee> emp = new List<Employee>();

//Maintaining DataTable on ViewState
//For Demo only

DataTable dt = ViewState["CurrentEmp"] as DataTable;

//read data from DataTable 
//using lamdaexpression


emp = (from DataRow row in dt.Rows

   select new Employee
   {
       _FirstName = row["FirstName"].ToString(),
       _LastName = row["Last_Name"].ToString()

   }).ToList();
票数 70
EN

Stack Overflow用户

发布于 2008-10-16 13:28:04

使用C# 3.0和System.Data.DataSetExtensions.dll,

代码语言:javascript
复制
List<DataRow> rows = table.Rows.Cast<DataRow>().ToList();
票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/208532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档