You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何处理已拆分为多个等分DataTable的数组并遍历执行相同操作

遍历拆分后子表的实现方法

你拆分得到的DataTable[]数组是天然有序的,数组下标0对应第一块20行数据、下标1对应第二块,完全符合你要求的处理顺序,直接遍历数组即可。

方式1:无需感知当前处理批次,用foreach遍历

// 按拆分顺序逐个取子表执行逻辑
foreach (DataTable subTable in splittables)
{
    // 此处编写你的业务处理逻辑
    // 示例:遍历子表内所有行
    foreach (DataRow row in subTable.Rows)
    {
        // 单条数据处理逻辑
    }
}

方式2:需要获取当前处理批次序号,用for循环

for (int i = 0; i < splittables.Length; i++)
{
    DataTable currentSubTable = splittables[i];
    int batchNo = i + 1; // 批次号从1开始计数
    // 业务处理逻辑,可单独封装为方法复用
    ProcessSubTable(currentSubTable, batchNo);
}

// 封装的子表处理方法
void ProcessSubTable(DataTable subTable, int batchNo)
{
    Console.WriteLine($"正在处理第{batchNo}批数据,共{subTable.Rows.Count}行");
    // 你的业务逻辑代码
}

注意说明

  • 最后一个子表的行数可能不足20行,上述遍历逻辑无需额外适配,自动兼容该场景
  • 如果你的业务没有严格的顺序要求,可使用Parallel.ForEach做并行处理进一步提升性能,要求按顺序处理的话使用上述同步遍历即可

内容的提问来源于stack exchange,提问作者WAMLeslie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 01:57:05