c# - 如何自动关闭控制台应用程序窗口

标签 c# console console-application

我正在运行一个控制台应用程序,当最后一行文本写入控制台窗口时,我希望控制台窗口在 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/

相关文章:

java - 什么是用于终端应用程序的好的 Java、curses 类库?

c - 修改终端中已有的文本

c# - Unity/C# 相机剔除 mask 表示法

c# - 应该以什么顺序释放 COM 对象和垃圾收集?

c# - 在 .net Windows 服务中处理停止

c# - 关闭控制台时调用方法

c# - 关于使用 RuntimeHelpers.PrepareMethod() 进行预 JIT 的问题

c# - 如何将字符串输入从 C# 传递到控制台?

php - 数据表:未捕获类型错误:无法读取未定义的属性 'parentNode'

C# 如何将流重定向到控制台 Out?