控制台暂停的方式

RnD*_*RnD 5 c# console

由于我是C#的新手,我在谷歌搜索了我过去常用于C++的各种东西.其中一个是在控制台应用程序中暂停的可能性.

很多人提出了不同的方式

System.Console.ReadKey(true);
System.Console.WriteLine();
Run Code Online (Sandbox Code Playgroud)

其他人甚至展示了自制功能,这些功能"应该"比其他功能更高效.确定哪一个是更好的解决方案真的很头疼.

任何人都可以举例说明C#如何解释它们以及哪种方式应该是最有效的?

sta*_*ast 5

使用以下任一方法运行该程序:

  1. ctrl + F5

或者像Rajesh建议的那样

  1. Console.ReadKey() //pauses for any key
  2. Console.ReadLine() //pauses for enter key


Pic*_*are 2

我通常使用dowhile来暂停控制台。然后,如有必要,如果您按特定键,控制台应该恢复。

例子

do
{

/*  while (!Console.KeyAvailable) //Continue if pressing a Key press is not available in the input stream
    {
        //Do Something While Paused
    } 
*/

} while (Console.ReadKey(true).Key != ConsoleKey.Escape); //Resume if Escape was pressed
Run Code Online (Sandbox Code Playgroud)

如果将其保留为,则只有在暂停时按下//Do Something While Paused该键不执行任何操作时,控制台才会恢复。Esc

但是,如果您不希望控制台应用程序恢复,您可以while (true);使用while (Console.ReadKey(true).Key != ConsoleKey.Escape);

例子

do
{
    //break; //Resume
} while (true); //Continue while True (Always True)
Run Code Online (Sandbox Code Playgroud)

注意:控制台应用程序将暂停,因为这样做do { } while (Condition);只是告诉控制台应用程序您正在做某事。因此,控制台应用程序将等待操作执行。然后,无事可做时通常会关闭。
注意while用于循环。因此,除非条件变为 false,否则应用程序不会关闭。

谢谢,
我希望你觉得这有帮助:)