【发布时间】:2019-10-08 23:21:48
【问题描述】:
我有一个包含 91 项的列表。我目前使用StreamWriter 循环并将每一行写入一个文本文件。我想将列表除以 3,所以在 30 个项目之后我想插入一个空行。到目前为止我有
foreach (var item in textList)
{
//write to file
counter++;
if (counter == totalItems / 3)
{
await sw.WriteLineAsync(Environment.NewLine);
}
}
但它仅适用于前 30 个项目。请注意,列表可以包含任意数量的项目,但这个特定的项目包含 91 个。但是我总是必须分成 3 个。
【问题讨论】:
-
你必须在写完空行后将你的
counter重置为0。 -
您告诉它调用 WriteLineAsync() 一次:当计数器等于 30 时。如果您要关心最终结果,则需要 modulus operator计数,或者按照 pappenbence 的建议重置。
-
if (counter % 30 == 0) {...}在每个30项目之后做某事
标签: c# text-files