Tricks zum korrekten Beenden von C#-Anwendungen
In C# ist das ordnungsgemäße Beenden einer Anwendung nicht einfach, insbesondere wenn Sie sicherstellen müssen, dass alle untergeordneten Fenster und Ressourcen ordnungsgemäß geschlossen werden können. Um unerwartete Situationen wie verwaiste Fenster oder Restwarnungen zu vermeiden, sind geeignete Strategien erforderlich.
Vergleich von Application.Exit() und Environment.Exit()
Es gibt im Wesentlichen zwei Möglichkeiten, eine C#-Anwendung zu beenden:
Application.Run
verwenden (z. B. WinForms-Anwendungen). Nachrichtenschleife und Application.MessageLoop
Das AttributMessageLoop
bestimmt, ob Application.Run
aufgerufen wird. Wenn true
zurückgegeben wird, bedeutet dies, dass es sich um eine WinForms-Anwendung handelt und Application.Exit()
verwendet werden sollte. Wenn false
zurückgegeben wird, bedeutet dies, dass es sich um eine Konsolenanwendung handelt und Environment.Exit()
verwendet werden sollte.
this.Hide() und Anwendungsexit
Wenn Ihr Formular das Ereignis FormClosed
oder FormClosing
aufruft und this.Hide()
zum Schließen der Anwendung verwendet, kann dies Auswirkungen auf das Verhalten der Anwendung haben und dazu führen, dass untergeordnete Fenster und Ressourcen nicht ordnungsgemäß geschlossen werden. Um einen sauberen Ausgang zu gewährleisten, verwenden Sie Application.Exit()
oder Environment.Exit()
direkt, anstatt das Hauptformular auszublenden.
Codebeispiel
Das folgende Beispiel zeigt die korrekte Verwendung von Application.Exit()
:
<code class="language-csharp">if (System.Windows.Forms.Application.MessageLoop) { // WinForms 应用 System.Windows.Forms.Application.Exit(); }</code>
Das obige ist der detaillierte Inhalt vonWie beendet man eine C#-Anwendung ordnungsgemäß: Application.Exit() vs. Environment.Exit()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!