在C#中退出控制台应用程序的命令是什么?
在C#中退出控制台应用程序的命令是什么?
Environment.Exit
要求您拥有 SecurityPermissionFlag.UnmanagedCode 权限 - 这可能会对某些人造成麻烦。 - wp78de按照适当性顺序,有以下几种选择:
编辑于 2013 年 9 月以改善可读性
返回特定的退出代码:正如 Servy 在评论中指出的那样,您可以使用带有 int 返回类型的 Main 声明,从而通过这种方式返回错误代码。因此,除非需要使用 Exit 终止并且无法在 Main 方法中完成,否则实际上没有必要使用 Environment.Exit。如果任何未处理的异常传播到 Main 中,则可以通过抛出异常并在 Main 中返回错误代码来避免使用它们。如果应用程序是多线程的,则可能需要更多的样板代码才能正确地终止并返回退出代码,因此最好直接调用 Environment.Exit。
另一个不使用 Evironment.Exit 的原因 - 即使编写多线程的应用程序 - 是可重用性。如果您想要在使 Environment.Exit 无关紧要的环境中重复使用代码(例如可能在 Web 服务器中使用的库),则该代码将不可移植。在我看来,最好的解决方案仍然是始终使用异常和/或返回值来表示方法达到某些错误/完成状态。这样,您可以在任何 .NET 环境中以及任何类型的应用程序中始终使用相同的代码。如果您正在编写特定需要返回退出代码或以类似于 Environment.Exit 的方式终止的应用程序,则可以继续封装线程并根据需要处理错误/异常。
return 1
,并在你想要“提前退出”的部分添加return 0
。 - undefined当主函数运行结束时,控制台应用程序将退出。使用“return”语句即可实现此目的。
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("I'm running!");
return; //This will exit the console application's running thread
}
}
如果你要返回一个错误代码,可以按照以下方式实现,这种方式可以从初始线程之外的函数中访问:
System.Environment.Exit(-1);
Environment.Exit(0)
和 Application.Exit
。
Environment.Exit()
:终止此进程并将指定的退出代码传递给底层操作系统。