【问题标题】:Stop Visual Studio from Closing Program After Finish完成后停止 Visual Studio 关闭程序
【发布时间】:2023-08-14 08:37:02
【问题描述】:

这可能是一个简单的 Visual Studio 问题,但我在网站上找不到。

当我“开始调试”控制台程序时,它会在完成后立即退出。有没有办法让它在结束时暂停而不在程序末尾放置显式暂停命令?

【问题讨论】:

标签: visual-studio visual-studio-2008


【解决方案1】:

是的,正如@matthew 所说,Console.ReadKey() 将在执行程序后等待您的输入,但您可以使用 Console.ReadLine(),它只有在按下 键时才会终止:

void main()
{
    Console.WriteLine("Hello World!"); //:)
    Console.ReadLine();//this will do the trick.
}

【讨论】:

    【解决方案2】:

    在应用程序完成之前添加一个断点。

    【讨论】:

    • +1 如果你不想修改代码 + 也想调试,我想不出别的了。
    • 如果有多个出口点怎么办? (不是我的控制台程序有)
    • 好吧,我给了你 +1。不幸的是,这种技术也隐藏了控制台窗口。
    • @Unknown- 在控制台程序中有多个退出点的充分理由并不多。您通常希望拥有 1 个*错误处理程序。
    • 并不总是可能的,我有一些情况,最后的断点似乎被忽略了(没有返回语句,重要的是)。
    【解决方案3】:

    您可以将 Console.ReadLine 放在程序的末尾。这将迫使程序等待换行符输入。或者你可以在程序的末尾放置断点。

    【讨论】:

    • 我更喜欢Console.ReadKey(true);:3(它只是等待按键,不管它是什么)
    【解决方案4】:

    Console.ReadKey() 应该这样做。 它会暂停程序的执行,直到按下键盘上的某个键。

    【讨论】:

    • 再次阅读这部分问题“不要在程序末尾放置明确的暂停命令”:)
    【解决方案5】:

    "Run without Debugging" 可以做到这一点,但我猜你还是想调试 :)

    【讨论】:

    • 啊,这就是我想要的。很遗憾,您无法使用它进行调试。除非出现更好的答案,否则我会接受你的答案。
    • 如果您启动的是外部程序而不是项目,这将不起作用...