我有一个现有项目,它使用 DataTable 来迭代数据并添加到列表中,如下所示:
foreach (DataRow row in data.Rows)
{
AllDetails.Add(new CustomDetail(row));
}
迭代 1000 行时需要花费大量时间(大约 40 秒以上)。我尝试用以下内容替换它:
IEnumerable<CustomtDetail> rows = data.Rows.OfType<CustomDetail>();
AllDetails = rows.ToList();
不幸的是,当我看到列表时,计数为 0。但是在 DataTable 中,它有行。有什么我错过的吗?
这可能是最简单的方法:
List<DataRow> list = dt.AsEnumerable().ToList();