我正在运行一个控制台应用程序,当最后一行文本写入控制台窗口时,我希望控制台窗口在 5 秒后自动关闭。
现在总是出现“按任意键继续”的消息。有没有办法抑制此消息并在 5 秒后关闭窗口?
我试过return 0;
、System.Environment.Exit(1)
,但都没有成功。
非常感谢任何帮助。
static int Main(string[] args)
{
Console.WriteLine("This is the last message.");
Thread.Sleep(5000);
// System.Environment.Exit(1);
return 0;
}
最佳答案
Press any key to continue
是微软在开发IDE中默认提供的。每当您从 IDE 运行应用程序时,您一定期望得到任何输出,对吗?这是为此目的而给出的,以便用户可以看到生成的输出。无论您的项目模式是 Debug
还是 Release
,您都会收到此消息。如果您在所有 MSDN 文档中看到(假设 this),它们在代码示例中特别提到:-
// Keep the console open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
因为当您直接使用 Ctrl+F5
运行应用程序时,您会收到此消息“按任意键继续”,但在调试时不会收到此消息。
如果您将从 IDE
外部运行它,即直接双击生成的 .exe
文件,您将不会发现此消息,即使是实时的您将从 BAT 文件或其他文件运行此文件(显然您不会要求最终用户从 Visual Studio IDE 运行您的应用程序)然后您也不会收到此消息。
只需使用您的代码(如下所述)并运行 bin
目录中的 .exe
文件,您将获得所需的结果。
static void Main(string[] args)
{
Console.WriteLine("Please enter something");
Thread.Sleep(5000);
}
所以,简而言之,这仅针对 IDE。
关于c# - 如何自动关闭控制台应用程序窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27039667/