目前,我使用的是:
DataTable dt = CreateDataTableInSomeWay();
List<DataRow> list = new List<DataRow>();
foreach (DataRow dr in dt.Rows)
{
list.Add(dr);
}
有没有更好的/神奇的方法?
发布于 2008-10-16 13:59:02
如果你使用的是.NET 3.5,你可以使用DataTableExtensions.AsEnumerable
(一种扩展方法),然后如果你真的需要一个List<DataRow>
而不仅仅是IEnumerable<DataRow>
,你可以调用Enumerable.ToList
IEnumerable<DataRow> sequence = dt.AsEnumerable();
或
using System.Linq;
...
List<DataRow> list = dt.AsEnumerable().ToList();
发布于 2011-12-16 02:44:19
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();
发布于 2008-10-16 13:28:04
使用C# 3.0和System.Data.DataSetExtensions.dll,
List<DataRow> rows = table.Rows.Cast<DataRow>().ToList();
https://stackoverflow.com/questions/208532
复制相似问题