gpt4 book ai didi

c# - 使用 Using 和 Yield Return 从文件中读取文本行

转载 作者:太空宇宙 更新时间:2023-11-03 13:53:36 24 4
gpt4 key购买 nike

我有下面的方法,它使用 Yield Return 从文件中读取大行 ( >1m ) 文本。

    private static IEnumerable<string> ReadLineFromFile(TextReader fileReader)
{
using (fileReader)
{
string currentLine;
while ((currentLine = fileReader.ReadLine()) != null)
{
yield return currentLine;
}
}
}

我需要能够将从此方法返回的每 10 行写入不同的文件。

如何在不枚举所有行的情况下使用此方法?

非常感谢任何回答。

最佳答案

我想我终于让它工作了:-)

        var listOfBufferedLines = ReadLineFromFile(ReadFilePath);

var listOfLinesInBatch = new List<string>();
foreach (var line in listOfBufferedLines)
{
listOfLinesInBatch.Add(line);

if (listOfLinesInBatch.Count % 1000 == 0)
{
Console.WriteLine("Writing Batch.");
WriteLinesToFile(listOfLinesInBatch, LoadFilePath);
listOfLinesInBatch.Clear();
}
}

// writing the remaining lines
WriteLinesToFile(listOfLinesInBatch, LoadFilePath);

关于c# - 使用 Using 和 Yield Return 从文件中读取文本行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13022054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com