如果用户输入input,继续每次打印100行
本文关键字:打印 100行 继续 用户 输入 input 如果 | 更新日期: 2023-09-27 17:54:03
我有一个控制台应用程序,它从包含行(数千行)文本的文本文件中打印行。
using (TextReader tr = new StreamReader(__inputfile))
{
string nextline = tr.ReadLine();
while (nextline != null)
{
Console.WriteLine(nextline);
nextline = tr.ReadLine();
}
}
我想改变这一点,使它只打印100行,要求用户在打印下一个100行之前按Enter键,等等
Console.WriteLine("Press Enter to continue...or Control-C to stop");
Console.ReadLine();
在用户按Enter(或任何键)之后,它打印接下来的100行…这样一直运行下去,直到文件的行数用完,然后程序停止
一种方法可能是简单地跟踪您向控制台写入了多少行。当达到100行时,停止输出,等待输入,重置计数器或使用%100,并继续循环。
using modulo operator:使用计数器。一开始将其初始化为0。在阅读每行后增加它。在循环中有一个像
这样的检查符if (counter % 100 == 0)
waitForInput();
不带模运算符:在用户点击enter后,你也可以将counter设置为0 -在这种情况下,你不需要使用%,只能检查
if (counter == 100) {
waitForInput();
counter = 0;
}
p。像这样:
int counter = 0;
using (TextReader tr = new StreamReader(__inputfile))
{
string nextline = tr.ReadLine();
while (nextline != null)
{
counter++;
if(counter == 100)
{
Console.WriteLine("Press Enter to continue...");
Console.ReadLine();
counter = 0;
}
Console.WriteLine(nextline);
nextline = tr.ReadLine();
}
}
using (TextReader tr = new StreamReader(__inputfile))
{
var count=1;
string nextline = tr.ReadLine();
while (nextline != null)
{
if (count % 100 == 0)
{
Console.WriteLine("Press Enter to continue...or Control-C to stop");
nextline=Console.ReadLine();
Console.WriteLine(nextline);
}
else
{
Console.WriteLine(nextline);
nextline = tr.ReadLine();
}
count++;
}
}