Quelle est la commande en C # pour quitter une application console?
Vous pouvez utiliser Environment.Exit(0);
et Application.Exit
Environment.Exit(0)
est plus propre .
Plusieurs options, par ordre de la manière la plus appropriée:
System.Environment.Exit
(non portable! Voir ci-dessous)Édité le 9/2013 pour améliorer la lisibilité
Retour avec un code de sortie spécifique: Comme Servy le fait remarquer, vous pouvez déclarer Main avec un type de retour int
et renvoyer un code d'erreur de cette façon. Donc, il n’est vraiment pas nécessaire d’utiliser Environment.Exit sauf si vous devez terminer par un code de sortie et ne pouvez pas le faire dans la méthode Main. Vous pouvez probablement éviter cela en lançant une exception et en renvoyant un code d'erreur dans Main si une exception non gérée se propage à cet endroit. Si l'application est multi-thread, il vous faudra probablement encore plus de passe-partout pour bien se terminer par un code de sortie, il est donc préférable d'appeler Environment.Exit.
Un autre point contre l'utilisation de Evironment.Exit
- même lors de l'écriture d'applications multithreads - est réutilisabilité. Si vous souhaitez réutiliser votre code dans un environnement rendant Environment.Exit
inutile (telle qu'une bibliothèque pouvant être utilisée sur un serveur Web), le code ne sera pas portable. La meilleure solution reste toujours, à mon avis, de toujours utiliser des exceptions et/ou de renvoyer des valeurs qui indiquent que la méthode a atteint un certain état erreur/fin. De cette manière, vous pouvez toujours utiliser le même code dans n'importe quel environnement .NET et dans n'importe quel type d'application. Si vous écrivez spécifiquement une application qui a besoin de renvoyer un code de sortie ou de terminer de manière similaire à ce que fait Environment.Exit
, vous pouvez alors envelopper le fil au plus haut niveau et gérer les erreurs/exceptions de la manière suivante: nécessaire.
Les applications de console se fermeront lorsque la fonction principale aura été exécutée. Un "retour" permettra d'atteindre cet objectif.
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("I'm running!");
return; //This will exit the console application's running thread
}
}
Si vous renvoyez un code d'erreur, vous pouvez le faire de cette façon, ce qui est accessible à partir de fonctions extérieures au thread initial:
System.Environment.Exit(-1);
Vous pouvez utiliser Environment.Exit(0)
et Application.Exit
.
Environment.Exit()
: met fin à ce processus et fournit au système d'exploitation sous-jacent le code de sortie spécifié.