如何从自动关闭停止C#控制台应用程序? [重复](How to stop C# console

2019-06-17 10:57发布

这个问题已经在这里有一个答案:

  • 为什么控制台窗口关闭后立即显示我的输出? 21个回答

在Visual Studio中我的控制台应用程序都自动关闭,所以我想用类似于C的system("PAUSE")为“暂停”在其执行结束的应用程序,我怎么能做到这一点?

Answer 1:

Console.ReadLine();

要么

Console.ReadKey();

ReadLine()等待↩, ReadKey()等待的任意键(除修改键)。

编辑:从达林偷了钥匙符号。



Answer 2:

你可以只编译(开始调试)用Ctrl + F5键您的工作。

试试吧。 我总是这样做,并在控制台显示我,我的成绩就可以打开。 无需额外的代码。



Answer 3:

尝试按Ctrl + F5在Visual Studio中运行您的程序,这将增加一个暂停使用“按任意键继续......”自动无任何到Console.ReadLine()或ReadKey()函数。



Answer 4:

Console.ReadLine()来等待用户输入Console.ReadKey等待任意键。



Answer 5:

使用:

Console.ReadKey();

对于它关闭时,有人按下任意键,或:

Console.ReadLine();

因为当用户键入的东西,并按下回车。



Answer 6:

按Ctrl + F5是更好的,因为你并不需要额外的线路。 你可以,到了最后,按下回车键和退出运行模式。

但是,当你开始使用F5的程序,把一个破发点,你可以调试你的应用程序,并且让你的其他优点。



Answer 7:

或者,您可以使用下面的代码延时关闭:

System.Threading.Thread.Sleep(1000);

注意Sleep时使用毫秒。



Answer 8:

提到这些解决方案如何改变你的工作方案。

你可以关闭过程中把#if DEBUG#endif周围的控制台呼叫,但如果你真的想阻止窗口在Visual Studio或如果你特别配置它VS不仅运行您的开发机器上只有关闭和你不想让恼人的'Press any key to exit...'在命令行中运行时,要走的路是用System.Diagnostics.Debugger API的。

如果你只是想,要在工作DEBUG ,只需换一个验证码[Conditional("DEBUG")] void BreakConditional()方法。

// Test some configuration option or another
bool launch;
var env = Environment.GetEnvironmentVariable("LAUNCH_DEBUGGER_IF_NOT_ATTACHED");
if (!bool.TryParse(env, out launch))
    launch = false;

// Break either if a debugger is already attached, or if configured to launch
if (launch || Debugger.IsAttached) {
    if (Debugger.IsAttached || Debugger.Launch())
        Debugger.Break();
}

这也适用于需要更高的权限,或者需要能够抬高自己调试程序。



Answer 9:

如果你不希望关闭该程序,即使用户按下任意键;

 while (true) {
      System.Console.ReadKey();                
 };//This wont stop app


文章来源: How to stop C# console applications from closing automatically? [duplicate]