c# - 将一系列数据行复制到另一个数据表 - C#

标签 c# mysql datatable

我有一个包含 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/

相关文章:

c# - 帮助在提供商场景中选择我的 DDD 聚合根?

jsf-2 - 复选框数据表 primefaces 不起作用

jquery - Yii ajaxLink jquery 在 View 上不起作用

C# 到 MusicXML?

c# - 将应用程序池凭据用于 WebClient 请求

c# - 根据主观值(value)对列表进行排序

c# - Mysql 更新数据库 System.FormatException

sql - 帮助选择计数查询

MYSQL - 如何在不删除正确的零的情况下保存值

java - Primefaces 数据表不适用于过滤器 + 排序