我有一个包含 100 行的数据表,我想将一定范围的行(第 31 行到第 50 行)复制到另一个数据表。
我遵循以下逻辑。
DataTable dtNew = table.Clone();
for(int k=30; k < 50 && k < table.Rows.Count; k++)
{
dtNew.ImportRow(table.Rows[k]);
}
有没有更好的方法来做到这一点?
最佳答案
使用 LINQ
,您可以执行以下操作:
DataTable dtNew = table.Select().Skip(31).Take(20).CopyToDataTable();
在性能方面,使用 LINQ 不会做得更好,但它使它更具可读性。
编辑:添加处理检查
int numOFEndrow = 20;
int numOfStartRow = 31;
if (table.Rows.Count > numOFEndrow +numOfStartRow)
{
DataTable dtNew = table.Select().Skip(numOfStartRow).Take(numOFEndrow).CopyToDataTable();
}
关于c# - 将一系列数据行复制到另一个数据表 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48560899/