Applications de fermeture

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?

En outre, en ce qui concerne Environment.Exit (0), j’ai déjà utilisé des codes de sortie lors de l’utilisation de Java, mais je n’ai jamais bien compris leur objective. Quel rôle jouent-ils lorsqu’ils quittent une application en C #?

System.Windows.Forms.Application.Exit () – Informe toutes les pompes de messages qu’elles doivent terminer, puis ferme toutes les fenêtres d’application une fois les messages traités. Cette méthode arrête toutes les boucles de messages en cours d’exécution sur tous les threads et ferme toutes les fenêtres de l’application. Cette méthode ne force pas l’application à sortir. La méthode Exit est généralement appelée depuis une boucle de message et force Run à revenir. Pour quitter une boucle de message pour le thread en cours uniquement, appelez ExitThread. C’est l’appel à utiliser si vous exécutez une application WinForms. En règle générale, utilisez cet appel si vous avez appelé System.Windows.Forms.Application.Run.

System.Environment.Exit (exitCode) – Termine ce processus et donne au système d’exploitation sous-jacent le code de sortie spécifié. Cet appel nécessite des permissions SecurityPermissionFlag.UnmanagedCode. Si vous ne le faites pas, une erreur SecurityException se produit. Ceci est l’appel à utiliser si vous exécutez une application console.

J’espère qu’il vaut mieux utiliser Application.Exit

vérifiez ces liens Application.Exit () vs Application.ExitThread () vs Environment.Exit () et http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx

Application.Exit est destinée aux applications Windows Forms: elle informe toutes les pompes de messages qu’elles doivent se terminer, attend qu’elles finissent de traiter les événements, puis met fin à l’application. Notez que cela ne force pas forcément l’application à sortir.

Environment.Exit est applicable à toutes les applications Windows, mais il est principalement destiné à être utilisé dans les applications de console. Il termine immédiatement le processus avec le code de sortie donné.

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

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

Quel rôle jouent-ils lorsqu’ils quittent une application en C #?

La même chose que toutes les autres applications. Fondamentalement, ils sont renvoyés à l’appelant. Irrévient si le début était un double clic iicon. Le cas échéant, l’appel est un fichier de commandes qui détermine si l’application a utilisé le code de retour. Donc, sauf si vous écrivez un programme qui en a besoin, le dcode de retour est sans importance.

Mais quelle est la différence?

L’un provient de l’environnement un de System.Windows.Forms? .Application. Fonctionnalité il ne devrait pas y avoir beaucoup de différence.

pour moi le meilleur solotion c’est

  Thread.CurrentThread.Abort(); 

et forcer l’application proche.