1 回答

TA贡献1891条经验 获得超3个赞
我应该放弃使用 foreach 循环并将超过 10,000 行复制到新的 DataTables 中吗?
是的,您也可以考虑编写自己的扩展方法来切片表并在需要时重用它。像下面这样的 -
public DataTable SliceTable(this DataTable dt, int rowsCount, int skipRows=0)
{
DataTable dtResult = dt.Clone();
for (int i = skipRows; i < dt.Rows.Count && rowsCount > 0; i++)
{
dtResult.ImportRow(dt.Rows[i]);
rowsCount --;
}
return dtResult;
}
用途-
DataTable myData; -- Original table
var slice1 = myData.SliceTable(1000); // get slice of first 1000 rows
var slice2 = myData.SliceTable(1000,1000); // get rows from 1001 to 2000
var slice3 = myData.SliceTable(1000,2000); // get rows from 2001 to 3000
- 1 回答
- 0 关注
- 233 浏览
添加回答
举报