小编Ada*_*bel的帖子

C#并排合并两个或多个文本文件

using (StreamWriter writer = File.CreateText(FinishedFile))
{
    int lineNum = 0;
    while (lineNum < FilesLineCount.Min())
    {
        for (int i = 0; i <= FilesToMerge.Count() - 1; i++)
        {
            if (i != FilesToMerge.Count() - 1)
            {
                var CurrentFile = File.ReadLines(FilesToMerge[i]).Skip(lineNum).Take(1);
                string CurrentLine = string.Join("", CurrentFile);
                writer.Write(CurrentLine + ",");
            }
            else
            {
                var CurrentFile = File.ReadLines(FilesToMerge[i]).Skip(lineNum).Take(1);
                string CurrentLine = string.Join("", CurrentFile);
                writer.Write(CurrentLine + "\n");
            }
        }
        lineNum++;
    }
}
Run Code Online (Sandbox Code Playgroud)

我目前这样做的方式太慢了.我正在合并每个50k +行长的文件和不同数量的数据.

例如:文件1
1
2
3
4

档案2
4
3
2
1

我需要将它合并成第三个文件
文件3 …

c# performance merge

2
推荐指数
1
解决办法
76
查看次数

Int64 创建数字范围

我需要能够创建长度为 19+ 位的数字范围。

我尝试使用 Enumerable.Range(120000003463014,50000).ToList();

这适用于较小的数字,但使用上面的我得到一个错误,说它对于 int32 数字来说太大了。有什么方法可以创建一个包含大数字的连续范围(有时我会使用 15 位数字,我什至会使用 25 位数字)。先感谢您

PS 我当前问题的起始编号是 128854323463014 Ending # 128854323513013

c# sequence number-formatting

1
推荐指数
1
解决办法
1462
查看次数

标签 统计

c# ×2

merge ×1

number-formatting ×1

performance ×1

sequence ×1