首页 文章

如何阻止C#控制台应用程序自动关闭? [重复]

提问于
浏览
308

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

Visual Studio上的我的控制台应用程序正在自动关闭,所以我在执行结束时应用程序 system("PAUSE")system("PAUSE") ,我该如何实现?

9 回答

  • 7

    或者,您可以使用以下代码延迟结束:

    System.Threading.Thread.Sleep(1000);
    

    注意 Sleep 使用的是毫秒 .

  • 459

    您可以使用Ctrl F5编译(开始调试)您的工作 .

    试试吧 . 我总是这样做,控制台向我展示我的结果 . 无需其他代码 .

  • 132

    提到的解决方案会改变您的计划的运作方

    您可以在控制台调用周围放置 #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();
    }
    

    这也适用于调试需要提升权限的程序,或者需要能够提升自己的程序 .

  • 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
    
  • 5
    Console.ReadLine();
    

    要么

    Console.ReadKey();
    

    ReadLine()等待↩,ReadKey()等待任何键(修饰键除外) .

    编辑:偷走了达林的钥匙符号 .

  • 35

    Console.ReadLine() 等待用户输入或 Console.ReadKey 等待任何键 .

  • 13

    Ctrl F5更好,因为您不需要额外的行 . 最后,您可以点击进入和退出运行模式 .

    但是,当您使用F5启动程序并设置断点时,您可以调试应用程序并为您提供其他优势 .

相关问题