System.Environment.Exit(0) 不退出程序

System.Environment.Exit(0) does not exit program

我在 Visual Studio 2013 年有一个控制台应用程序。 .NET 4.5 我希望程序在完成某项任务后退出。所以,我用 System.Environment.Exit(0); 但它不会退出。它只显示在控制台上: 按任意键继续。

如何退出程序? 提前致谢。

这里我检查目录是否为空,然后退出程序,我也试过把System.Environment.Exit(0);在主函数中,但它什么也没做。

    if (Directory.GetFiles(@"Q:\").Length == 0)
    {
        System.Environment.Exit(0);
    }

退出控制台应用程序最优雅的方式是从 Main 方法 return。

只需如下声明您的主要方法:

public static int Main(string[] args)

你可以使用

return x;

使用给定的 return 代码退出应用程序。

尝试Application.Current.Shutdown()

Press any key to continue

就像上面已经说过的评论一样,这听起来很像您的 IDE(大概是 Visual Studio)在进程终止后打印出来的内容。在我的机器上,当我 运行 一个没有附加调试器的控制台应用程序时,我收到这条消息,例如通过使用 Ctrl+F5 启动它。一旦我按下一个键,Visual Studio 生成的控制台 window 就会关闭。这是预期的行为。

尝试 运行在你的程序中附加调试器,例如按 F5。或者从命令提示符启动程序,而不是从 IDE 启动它。那时不应显示该消息。

另请注意,如果您有一个多线程程序,并且有非后台线程 运行ning,即使主线程已终止,这些线程也可以使进程保持活动状态。