首页 > 解决方案 > C# - 连续运行一个while循环直到按键被按下?

问题描述

我目前正在从事一个学校项目,该项目需要每 2 秒生成、处理和存储一次数据。为此,我正在使用 while(true) 循环。我遇到的问题是允许用户打破该循环并请求生成的数据。生成/存储必须是一个在后台发生的连续过程,所以我不能在每次迭代开始时要求用户输入。我希望有人可以帮助我。这将是一个简单的例子:

    int i = 0;
    List<int> list = new List<int>();
    //Console.WriteLine("Generating will continue until any key is pressed... ");

    while (true)   
    {
       i++;
       li.Add(i);

       Thread.Sleep(2000);
    }

    foreach (int i in list)
    {
      Console.Writeline(i);
    }

标签: c#loopswhile-loop

解决方案


while(!Console.KeyAvailable)
{
    //do work
}

推荐阅读