在 C# 中正確退出應用程式

Muhammad Maisam Abbas 2023年1月30日 2021年3月21日
  1. 使用 C# 中的 Environment.Exit() 函式退出控制檯應用程式
  2. 使用 C# 中的 Application.Exit() 函式退出控制檯應用程式
  3. 使用 C# 中的 Environment.Exit()Application.Exit() 函式正確退出應用程式
在 C# 中正確退出應用程式

本教程將討論正確退出 C# 中的應用程式的方法。

使用 C# 中的 Environment.Exit() 函式退出控制檯應用程式

Environment.Exit(exitCode) 函式用於終止整個應用程式,在 C# 中以 exitCode 作為退出程式碼。Environment.Exit() 函式終止整個當前應用程式,並向當前作業系統返回退出程式碼。請參見下面的示例程式碼。

using System;

namespace exit_application
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("The Text before Exit");
            Environment.Exit(0);
            Console.WriteLine("The Text after Exit");
        }
    }
}

輸出:

The Text before Exit

上面的程式碼僅列印 The Text before Exit,因為我們在 Console.WriteLine("The Text after Exit"); 行之前通過 Environment.Exit(0) 函式完全退出了應用程式。Environment.Exit() 函式可與基於控制檯的應用程式和 WinForms 應用程式一起使用。

使用 C# 中的 Application.Exit() 函式退出控制檯應用程式

Application.Exit() 函式終止所有用 Application.Run() 函式啟動的訊息迴圈,然後在 C# 中存在當前應用程式的所有視窗。該方法只能與 WinForms 應用程式一起使用。請參見下面的示例程式碼。

private void exitToolStripMenuItem_Click(object sender, EventArgs e)  
{  
    Application.Exit();
}

我們使用 C# 中的 Application.Exit() 函式關閉了 WinForms 應用程式以及與之關聯的所有執行緒。此方法優於 Environment.Exit() 函式,因為 Environment.Exit() 函式不會終止所有應用程式的訊息迴圈。

使用 C# 中的 Environment.Exit()Application.Exit() 函式正確退出應用程式

我們可以使用 Environment.Exit()Application.Exit() 函式的組合來正確退出 C# 中的應用程式。以下程式碼示例向我們展示瞭如何結合使用 C# 中的 Environment.Exit()Application.Exit() 函式來充分關閉應用程式。

using System;
using System.Windows.Forms;

if (Application.MessageLoop == true) 
{
    Application.Exit();
}
else
{
    Environment.Exit(1);
}

在上面的程式碼中,如果之前已在應用程式中呼叫了 Application.Run() 函式,則使用 Application.Exit() 函式關閉應用程式。否則,我們通過向作業系統提供 1 作為退出程式碼,使用 Environment.Exit(1) 函式關閉應用程式。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Csharp Console