71 votes

Fermeture d'applications

Quelle est la meilleure pratique lors de la fermeture d’une application C #?

J'ai lu que vous pouvez utiliser:

 Environment.Exit(0); or Application.Exit();
 

Mais quelle est la différence?

De plus, en ce qui concerne Environment.Exit (0), j’avais déjà utilisé des codes de sortie lorsqu’on travaillait avec Java, mais je n’avais jamais compris leur objectif. Quel rôle jouent-ils lorsqu'ils quittent une application en C #?

72voto

Naga Harish Movva Points 1492

Système.De Windows.Les formulaires.Application.Exit() - Informe l'ensemble des pompes de messages qu'ils doivent se terminer, et puis se ferme toutes les fenêtres d'application après que les messages ont été traitées. Cette méthode s'arrête toutes les boucles de messages sur tous les fils et ferme toutes les fenêtres de l'application. Cette méthode ne permet pas de forcer l'application à la sortie. La Sortie de la méthode est généralement appelée dans une boucle de message, et de forces pour le retour. La sortie d'une boucle de message dans le thread courant uniquement, appelez ExitThread. C'est l'appel de l'utilisation si vous exécutez une application WinForms. En règle générale, l'utilisation de cet appel si vous l'avez appelé le Système.De Windows.Les formulaires.Application.Exécuter.

Système.De l'environnement.Exit(exitCode) - met fin à ce processus et donne le sous-jacent système d'exploitation spécifiées code de sortie. Cet appel exige que vous avez SecurityPermissionFlag.UnmanagedCode. les autorisations. Si vous ne le faites pas, une SecurityException erreur se produit. C'est l'appel de l'utiliser si vous exécutez une application console.

J'espère qu'il est préférable d'utiliser Application.Exit

vérifier ce lien de l'Application.Exit() vs Demande.ExitThread() par rapport à l'Environnement.Exit() et http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx

17voto

Justin Points 42106

Application.Exit est pour les applications Windows Forms - il informe toutes les pompes de messages qu'ils doivent mettre fin, il attend la fin du traitement des événements, puis met fin à l'application. Notez qu'il n'est pas nécessairement forcer l'application à la sortie.

Environment.Exit est applicable pour toutes les applications Windows, mais il est principalement destiné à une utilisation dans les applications de console. Il se termine immédiatement le processus avec le code de sortie.

En général, vous devez utiliser Application.Exit dans les applications Windows Forms et Environment.Exit dans les applications de console, (bien que je préfère laisser l' Main méthode d'entrée / point d'exécuter jusqu'à la fin plutôt que d'appeler Environment.Exit dans les applications de console).

Pour plus de détails, consultez la documentation MSDN.

0voto

TomTom Points 35574

Quel rôle jouent-ils lorsque vous quittez une application en C#?

Le même que toutes les autres applications. Essentiellement, ils sont retournées à l'appelant. Irrelvant si le début était un inom de l'icône double-cliquez. Est la pertinence de l'appel est un fichier batch qui décide de l'application travaillé sur le code de retour. DONC, sauf si vous écrivez un programme qui a besoin de cela, le retour dcode EST pas pertinent.

Mais quelle est la différence?

L'un provient d'un environnement à partir du Système.De Windows.Les formes?.Application. Functionall il ne devrait pas bbe beaucoup de différence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X