Was ist der Befehl in C # zum Beenden einer Konsolenanwendung?
c#
console-application
exit
Sababoni
quelle
quelle
Environment.Exit
Erfordert jedoch, dass Sie über die Berechtigungen SecurityPermissionFlag.UnmanagedCode verfügen - was für einige möglicherweise problematisch ist.Verschiedene Optionen in der Reihenfolge der am besten geeigneten Methode:
System.Environment.Exit
( nicht tragbar! Siehe unten )Bearbeitet 9/2013, um die Lesbarkeit zu verbessern
Rückgabe mit einem bestimmten Exit-Code: Wie Servy in den Kommentaren ausführt, können Sie Main mit einem
int
Rückgabetyp deklarieren und auf diese Weise einen Fehlercode zurückgeben. Es ist also wirklich nicht erforderlich, Environment.Exit zu verwenden, es sei denn, Sie müssen mit einem Exit-Code beenden und können dies möglicherweise nicht in der Main-Methode tun. Höchstwahrscheinlich können Sie dies vermeiden, indem Sie eine Ausnahme auslösen und einen Fehlercode in Main zurückgeben, wenn sich dort eine nicht behandelte Ausnahme ausbreitet. Wenn die Anwendung über mehrere Threads verfügt, benötigen Sie wahrscheinlich noch mehr Boilerplate, um ordnungsgemäß mit einem Exit-Code zu beenden, sodass Sie möglicherweise besser einfach Environment.Exit aufrufen können.Ein weiterer Punkt gegen die Verwendung
Evironment.Exit
- selbst beim Schreiben von Multithread-Anwendungen - ist die Wiederverwendbarkeit . Wenn Sie Ihren Code jemals in einer Umgebung wiederverwenden möchten, dieEnvironment.Exit
irrelevant ist (z. B. in einer Bibliothek, die möglicherweise auf einem Webserver verwendet wird), ist der Code nicht portierbar. Die beste Lösung ist meiner Meinung nach immer, immer Ausnahmen und / oder Rückgabewerte zu verwenden, die darstellen, dass die Methode einen Fehler- / Endzustand erreicht hat. Auf diese Weise können Sie in jeder .NET-Umgebung und in jeder Art von Anwendung immer denselben Code verwenden. Wenn Sie speziell eine App schreiben, die einen Exit-Code zurückgeben oder auf ähnliche Weise beendenEnvironment.Exit
muss, können Sie den Thread auf höchster Ebene umbrechen und die Fehler / Ausnahmen nach Bedarf behandeln.quelle
Konsolenanwendungen werden beendet, wenn die Hauptfunktion ausgeführt wurde. Eine "Rückkehr" wird dies erreichen.
Wenn Sie einen Fehlercode zurückgeben, können Sie dies auf folgende Weise tun, auf die über Funktionen außerhalb des ursprünglichen Threads zugegriffen werden kann:
quelle
Sie können
Environment.Exit(0)
und verwendenApplication.Exit
.Environment.Exit()
: Beendet diesen Prozess und gibt dem zugrunde liegenden Betriebssystem den angegebenen Exit-Code.quelle