关闭C#应用程序时的最佳实践是什么?
我读过您可以使用:
Environment.Exit(0); or Application.Exit();
但是有什么区别呢?
此外,关于Environment.Exit(0),我在使用Java之前曾使用过退出代码,但从未完全理解它们的用途。当退出C#应用程序时,它们扮演什么角色?
关闭C#应用程序时的最佳实践是什么?
我读过您可以使用:
Environment.Exit(0); or Application.Exit();
但是有什么区别呢?
此外,关于Environment.Exit(0),我在使用Java之前曾使用过退出代码,但从未完全理解它们的用途。当退出C#应用程序时,它们扮演什么角色?
Answers:
System.Windows.Forms.Application.Exit()-通知所有消息泵它们必须终止,然后在处理完消息后关闭所有应用程序窗口。此方法停止所有线程上所有正在运行的消息循环,并关闭应用程序的所有窗口。此方法不会强制应用程序退出。Exit()通常从消息循环内调用该方法,并强制Run()返回。要仅退出当前线程的消息循环,请调用ExitThread()。如果您正在运行Windows窗体应用程序,则可以使用此调用。一般而言,如果您已致电,请使用此通话System.Windows.Forms.Application.Run()。
System.Environment.Exit(exitCode)-终止此过程,并为底层操作系统提供指定的退出代码。此调用需要您具有SecurityPermissionFlag.UnmanagedCode权限。否则,将SecurityException发生错误。如果正在运行控制台应用程序,则可以使用此调用。
我希望最好用 Application.Exit
另请参阅以下链接:
Application.Run你唯一的选择是Environment.Exit因为Application.Exit不会有任何效果。
Application.Exit适用于Windows Forms应用程序-它通知所有消息泵应终止它们,等待它们完成事件处理,然后终止该应用程序。请注意,它不一定会强制应用程序退出。
Environment.Exit适用于所有Windows应用程序,但是主要用于控制台应用程序。它立即使用给定的退出代码终止该过程。
通常,您应该Application.Exit在Windows Forms应用程序和Environment.Exit控制台应用程序中使用((尽管我更喜欢让Main方法/入口点运行到完成而不是调用)Environment.Exit在控制台应用程序中)。
有关更多详细信息,请参见MSDN文档。