目前,我正在使用:
DataTable dt = CreateDataTableInSomeWay(); List<DataRow> list = new List<DataRow>(); foreach (DataRow dr in dt.Rows) { list.Add(dr); }
有没有更好/魔术的方法?
如果您使用的是.NET 3.5,则可以使用DataTableExtensions.AsEnumerable(扩展方法),然后如果确实需要a List<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();