C# 退出程序方法:Application.Exit和Environment.Eixt的区别

C#退出程序有两种方法:

  • System.Windows.Forms.Application.Exit() 
  • System.Environment.Exit(exitCode) 

System.Windows.Forms.Application.Exit()

System.Windows.Forms.Application.Exit() 会通知所有消息终止,等所有消息被处理后,它就会关闭所有的应用窗口。这个方法会停止所有线程上所有正在运行的消息循环,并关闭程序的所有窗口。但是它不会强制程序退出。 通常从消息循环内调用Exit方法,并强制Run返回。 如果是仅退出当前线程的消息循环,请调用ExitThread。

System.Environment.Exit(exitCode) 

System.Environment.Exit(exitCode) 方法会终止进程,并向底层的操作系统发送exit code。调用这个方法需要有SecurityPermissionFlag.UnmanagedCode权限,否则会报SecurityException错。一般是在控制台应用程序中使用。

也就是说,Environment.Eixt要比Application.Exit要粗暴退出。

使用

If (System.Windows.Forms.Application.MessageLoop)
{
System.Windows.Forms.Application.Exit()
}
Else
{
System.Environment.Exit(1)
}


 

版权声明:著作权归作者所有。

相关推荐

C#对List的元素按属性排序

C#对List元素排序有几种方法。方法一、使用LinqList<User> sortedList = list.OrderBy(o=>o.ID).ToList();如果按降序排序,可以使用OrderByDescending方法:List<User> sortedList = list.OrderByDescending(o=>o.ID).ToList();方法二

C++17 获取文件字节大小的方法

C++ 17可以使用filesystem来获取文件路径的字节大小:#include <cstdint>#include <filesystem>// ...std::uintmax_t size = std::filesystem::file_size("c:\\foo\\bar.txt");需要注意的是,除非是独自占有地打开文件来读,否在文件的字节大小会随着读的过程而变化

C#给文档注释添加换行

错误用法:使用<br />/// 第一行 /// <br /> /// 第二行 显示出来没有效果。正确做法:使用<para>/// <summary> /// <para>第一行</para> /// <para>第二行</par

微信小程序页面跳转的几种方法

本文总结了微信小程序页面跳转分为这几种类型:navigate:跳转页面,并保留当前页面。前一个页面可以使用navigateBack类型的跳转退回。redirect:关闭当前页面,然后跳转到新页面。switchTab:跳转到tabBar页面(在app.json中注册过的tabBar页面),同时关闭其他非tabBar页面。navigateBack:页面退回。微信原生提供的APInavigateTowx

C#对DataTable做LINQ查询

我们是不能直接对DataTable做LINQ查询,DataRowCollection是没有实现IEnumerable<T>。有一些方法可以间接实现对DataTable执行LINQ查询。AsEnumerable()使用DataTable的扩展AsEnumerable(),把DataTable转换为IEnumerable<DataRow>。var results&nb

C#计算用户年龄

此方法仅用于简单计算年龄,不适用于计算虚岁public static int GetAge(DateTime birthDate) {     DateTime now = DateTime.Now;      int age&n