Vb.net 如何在Filehelpers中对文件进行分区

Vb.net 如何在Filehelpers中对文件进行分区,vb.net,filehelpers,Vb.net,Filehelpers,我正在尝试使用Filehelpers(3.0.39.0)将一个文件划分为12000行。 以下是我的代码: 'Busca informações do Discador Dim dtDiscadores As New DataTable mensagemErro += ItauACCRepositorio.GetDiscadores(dtDiscadores, dtInicial, dtFinal) 'DataTable->Li

我正在尝试使用Filehelpers(3.0.39.0)将一个文件划分为12000行。 以下是我的代码:

       'Busca informações do Discador
        Dim dtDiscadores As New DataTable
        mensagemErro += ItauACCRepositorio.GetDiscadores(dtDiscadores, dtInicial, dtFinal)

        'DataTable->List
        Dim records = (From row In dtDiscadores.Rows
                       Select New ItauACCLayout.RetornoAcionamentoDiscador With {.DescricaoLinha = row("DCRLINHARQ")}).ToList()

        'Inicializa o motor do FileHelpers
        Dim engine As New FileHelperEngine(Of ItauACCLayout.RetornoAcionamentoDiscador)(Encoding.GetEncoding("iso-8859-1"))

        'Escreve o arquivo
        engine.WriteFile(String.Concat(_camArquivo, _nomArquivo, _extArquivo), records)

如果我的datatable(dtDiscadores)返回的行数超过12000行,我需要划分为不同的“N”个文件

您只需使用批处理工具批处理
记录即可


非常感谢@shamp00,但是存在MoreLinq的VB.Net批处理吗?我对VB.Net不太了解,但也许你可以使用转换器。或者还有其他各种实现真的是Skip()。Take()策略帮助了我!非常感谢你!
Skip().Take()。比如说有一百万行,它将花费大量时间来执行
Skip()
(至少对于大多数Linq提供程序是如此)。
 var batches = records.Batch(12000);
 var i = 0;
 foreach(var batch in batches)
 {
     i++;
     engine.WriteFile(String.Concat(_camArquivo, _nomArquivo + i.ToString(), _extArquivo), batch);
 }