Answers:
您可以使用Environment.Exit(0);
和Application.Exit
Environment.Exit(0)
更干净。
Environment.Exit
要求您具有SecurityPermissionFlag.UnmanagedCode权限-这可能对某些人造成麻烦。
几种选择,按最合适的方式排序:
System.Environment.Exit
((不可移植!请参见下文))编辑9/2013以提高可读性
返回带有特定的退出代码:正如Servy在注释中指出的那样,您可以使用int
返回类型声明Main,并以这种方式返回错误代码。因此,实际上没有必要使用Environment.Exit,除非您需要以退出代码终止并且不可能在Main方法中执行此操作。很可能您可以通过抛出异常并在Main中传播任何未处理的异常的情况下在Main中返回错误代码来避免这种情况。如果应用程序是多线程的,则可能需要更多样板才能正确地以退出代码终止,因此最好只调用Environment.Exit。
Evironment.Exit
即使在编写多线程应用程序时,反对使用的另一点是可重用性。如果您想在Environment.Exit
不相关的环境中重用您的代码(例如Web服务器中可能使用的库),则代码将不可移植。我认为,最好的解决方案仍然是始终使用表示方法已达到某种错误/完成状态的异常和/或返回值。这样,您可以始终在任何.NET环境和任何类型的应用程序中使用相同的代码。如果您专门编写一个需要返回退出代码或以类似于退出的方式终止的应用程序,Environment.Exit
则可以继续将线程包装在最高级别,并根据需要处理错误/异常。
您可以使用Environment.Exit(0)
和Application.Exit
。
Environment.Exit()
:终止此过程,并为底层操作系统提供指定的退出代码。