目前,我正在使用:
DataTable dt = CreateDataTableInSomeWay(); List<DataRow> list = new List<DataRow>(); foreach (DataRow dr in dt.Rows) { list.Add(dr); }
有没有更好/神奇的方法?
如果您使用的是 .NET 3.5,则可以使用DataTableExtensions.AsEnumerable(一种扩展方法),然后如果您真的需要 aList<DataRow>而不仅仅是IEnumerable<DataRow>您可以调用Enumerable.ToList:
DataTableExtensions.AsEnumerable
List<DataRow>
IEnumerable<DataRow>
Enumerable.ToList
IEnumerable<DataRow> sequence = dt.AsEnumerable();
或者
using System.Linq; ... List<DataRow> list = dt.AsEnumerable().ToList();