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

时间:2016-11-07 09:38:24

标签: c# system.exit

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

我如何退出该计划? 提前致谢。

这里iam检查目录是否为空,然后退出程序,我也试着把System.Environment.Exit(0);在主要功能,但它没有做任何事。

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

3 个答案:

答案 0 :(得分:2)

Press any key to continue

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

尝试使用附加的调试程序运行程序,例如按 F5 。或者从命令提示符启动程序,而不是从IDE启动它。然后不应显示该消息。

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

答案 1 :(得分:0)

退出控制台应用程序的最佳方式是从Main方法返回。

只需声明主要方法如下:

public static int Main(string[] args)

你可以使用

return x;

使用给定的返回码退出应用程序。

答案 2 :(得分:0)

尝试Application.Current.Shutdown()