【问题标题】:Explanation of 'Press Any key to continue.... ''Press Any key to continue....'的解释
【发布时间】:2016-09-21 13:31:48
【问题描述】:

刚刚注意到,每次我们运行 c# 控制台应用程序时,最后都会显示文本说明“按任意键继续...”。

当您按下任何键时,它会终止控制台/程序。 在实际程序中没有提到标准输出控制台上的这种文本打印,那么它是从哪里以及为什么出现在屏幕上的?

有人能解释一下背后的逻辑吗?

代码:

static void Main(string[] args)
{
   Console.WriteLine("Test Application");
}

输出:

测试应用程序

按任意键继续。 . .

【问题讨论】:

  • 只有在您连接了调试器时才会发生这种情况。
  • 只有在您没有附加调试器时才会发生这种情况。当您在桌面上创建程序的快捷方式时,VS 为何这样做将非常明显。单击快捷方式,闪光,砰,消失了。 stackoverflow.com/a/13256385/17034

标签: c# console


【解决方案1】:

它与您的应用程序本身无关。当您双击输出的 EXE 文件时,您将看不到它。只有当我们在 Visual Studio 中运行应用程序没有附加调试器时才会看到这种行为。

当您按 Ctrl+F5 时,Visual Studio 正在运行您的应用程序,使控制台窗口保持打开状态。

我认为它来自使用的 cmd 参数。类似的东西:

%COMSPEC% /k "C:\VS\MyApplication.exe"

【讨论】:

  • 感谢您的回复,但仍然有一个问题,它来自哪里,为什么? 我理解同样的目的是提示用户,但从哪里来?
【解决方案2】:

你使用 CodeBlocks 吗?

如果是,它是 CodeBlocks 的一个特征。您可以读取输出,而无需在控制台保持打开状态的末尾编写诸如 getChar() 之类的内容。否则它会立即关闭,您无法读取输出。

【讨论】:

    【解决方案3】:

    在正常应用程序中,控制台将在完成后关闭,这是预期的行为。此提示只是帮助您在编写应用程序时检查代码的结果,并且您不必放置(并记住以后删除):

    Console.ReadLine();
    

    在您的应用程序中测试它并查看输出是什么。

    【讨论】:

      猜你喜欢
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      相关资源
      最近更新 更多