Mes applications de console sur Visual Studio se ferment automatiquement, donc je voudrais utiliser quelque chose comme le system("PAUSE")
de C system("PAUSE")
pour “mettre en pause” les applications à la fin de son exécution, comment puis-je y parvenir?
Console.ReadLine();
ou
Console.ReadKey();
ReadLine()
attend ↩ , ReadKey()
attend n’importe quelle touche (à l’exception des touches de modification).
Edit: a volé le symbole clé de Darin.
Vous pouvez simplement comstackr (démarrer le débogage) votre travail avec Ctrl + F5 .
Essayez-le Je le fais toujours et la console me montre mes résultats ouverts sur elle. Aucun code supplémentaire n’est nécessaire.
Essayez Ctrl + F5 dans Visual Studio pour exécuter votre programme, cela appenda une pause avec “Appuyez sur n’importe quelle touche pour continuer …” sans fonctions Console.Readline () ou ReadKey ().
Console.ReadLine()
pour attendre que l’utilisateur entre ou que Console.ReadKey
attende une clé.
Utilisation:
Console.ReadKey();
Pour qu’il se ferme lorsque quelqu’un appuie sur une touche ou:
Console.ReadLine();
Pour quand l’utilisateur tape quelque chose et appuie sur Entrée.
Ctrl + F5 est préférable, car vous n’avez pas besoin de lignes supplémentaires. Et vous pouvez, à la fin, appuyer sur entrer et quitter le mode de fonctionnement.
Mais, lorsque vous lancez un programme avec F5 et que vous mettez un point d’arrêt, vous pouvez déboguer votre application et cela vous donne d’autres avantages.
Alternativement, vous pouvez retarder la fermeture en utilisant le code suivant:
System.Threading.Thread.Sleep(1000);
Notez que le mode Sleep
utilise des millisecondes.
Ces solutions mentionnées modifient le fonctionnement de votre programme.
Vous pouvez bien sûr mettre #if DEBUG
et #endif
autour des appels de la console, mais si vous voulez vraiment empêcher la fermeture de la fenêtre uniquement sur votre machine de développement sous Visual Studio ou si VS ne s’exécute que si vous le configurez explicitement, et vous ne voulez pas que ce soit ennuyeux 'Press any key to exit...'
lors de l’exécution à partir de la ligne de commande, la solution est d’utiliser les API System.Diagnostics.Debugger
.
Si vous voulez seulement que cela fonctionne dans DEBUG
, DEBUG
simplement ce code dans une méthode [Conditional("DEBUG")] void BreakConditional()
.
// Test some configuration option or another bool launch; var env = Environment.GetEnvironmentVariable("LAUNCH_DEBUGGER_IF_NOT_ATTACHED"); if (!bool.TryParse(env, out launch)) launch = false; // Break either if a debugger is already attached, or if configured to launch if (launch || Debugger.IsAttached) { if (Debugger.IsAttached || Debugger.Launch()) Debugger.Break(); }
Cela fonctionne également pour déboguer les programmes qui ont besoin de privilèges élevés, ou qui doivent pouvoir s’élever eux-mêmes.
Si vous ne voulez pas que le programme se ferme même si un utilisateur appuie sur une touche quelconque;
while (true) { System.Console.ReadKey(); };//This wont stop app