// 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();
}
这也适用于调试需要提升权限的程序,或者需要能够提升自己的程序 .
24
在Visual Studio中尝试 Ctrl + F5 来运行程序,这将自动添加"Press any key to continue..."暂停,而不使用任何Console.Readline()或ReadKey()函数 .
38
使用:
Console.ReadKey();
当有人按任意键时关闭它,或者:
Console.ReadLine();
当用户输入内容并按下回车键时 .
5
如果你不希望程序关闭,即使用户按任意键;
while (true) {
System.Console.ReadKey();
};//This wont stop app
9 回答
或者,您可以使用以下代码延迟结束:
注意
Sleep
使用的是毫秒 .您可以使用Ctrl F5编译(开始调试)您的工作 .
试试吧 . 我总是这样做,控制台向我展示我的结果 . 无需其他代码 .
提到的解决方案会改变您的计划的运作方
您可以在控制台调用周围放置
#if DEBUG
和#endif
,但是如果您真的想要阻止窗口仅在Visual Studio下的开发机器上关闭,或者当从命令行运行时VS不想要'Press any key to exit...'
,那么要走的路是使用System.Diagnostics.Debugger
API .如果您只想在
DEBUG
中使用它,只需将此代码包装在[Conditional("DEBUG")] void BreakConditional()
方法中即可 .这也适用于调试需要提升权限的程序,或者需要能够提升自己的程序 .
在Visual Studio中尝试 Ctrl + F5 来运行程序,这将自动添加"Press any key to continue..."暂停,而不使用任何Console.Readline()或ReadKey()函数 .
使用:
当有人按任意键时关闭它,或者:
当用户输入内容并按下回车键时 .
如果你不希望程序关闭,即使用户按任意键;
要么
ReadLine()等待↩,ReadKey()等待任何键(修饰键除外) .
编辑:偷走了达林的钥匙符号 .
Console.ReadLine()
等待用户输入或Console.ReadKey
等待任何键 .Ctrl F5更好,因为您不需要额外的行 . 最后,您可以点击进入和退出运行模式 .
但是,当您使用F5启动程序并设置断点时,您可以调试应用程序并为您提供其他优势 .