170 votes

Pourquoi la fenêtre de la console de clôture immédiatement sans afficher de ma sortie?

J'ai décidé d'étudier quelques notions de C# (bien que j'ai de l'expérience quand il s'agit de la programmation) le truc c'est que je suis en suivant les guides dans MSDN, mais le problème ici, c'est que leur Programme "Hello World" s'affiche ensuite, il serait de fermer immédiatement. pourquoi est-ce?

using System;

public class Hello1
{
    public static int Main()
    {
        Console.WriteLine("Hello, World!");
        return 0;
    }
}

289voto

Cody Gray Points 102261

le problème ici est que leur Programme "Hello World" s'affiche ensuite, il serait de fermer immédiatement.
pourquoi est-ce?

Parce que c'est fini. Lorsque les applications de console ont terminé l'exécution et le retour de leur main méthode, la fenêtre de la console se ferme automatiquement. Ce comportement est normal.

Si vous voulez le garder ouvert pour des fins de débogage, vous aurez besoin de charger l'ordinateur à attendre qu'une touche avant la fin de l'application et de la fermeture de la fenêtre.

L' Console.ReadLine méthode est une façon de le faire. L'ajout de cette ligne à la fin de votre code (juste avant l' return déclaration) entraînera l'application d'attendre pour vous d'appuyer sur une touche avant de quitter.

Alternativement, vous pouvez démarrer l'application sans le débogueur en appuyant sur Ctrl+F5 à partir de l'intérieur de l'environnement de Visual Studio, mais cela a l'inconvénient de vous empêcher d'utiliser les fonctionnalités de débogage, vous voulez probablement à votre disposition lors de l'écriture d'une application.

Le meilleur compromis est sans doute pour appeler l' Console.ReadLine méthode uniquement lors du débogage de l'application en l'enveloppant dans une directive de préprocesseur. Quelque chose comme:

#if DEBUG
    Console.WriteLine("Press enter to close...");
    Console.ReadLine();
#endif

71voto

Bhavik Patel Points 91

Au lieu d'utiliser

Console.Readline()
Console.Read()
Console.ReadKey()

vous pouvez exécuter votre programme à l'aide de

Ctrl + F5   

ça fonctionne

6voto

Robert Rouhani Points 8317

Le programme se ferme immédiatement, car rien n'empêche la fermeture. Insérer un point d'arrêt à l' return 0; ou ajouter Console.Read(); avant return 0; pour empêcher le programme de la clôture.

3voto

Ari Points 428

Le code est terminé, pour poursuivre, vous devez ajouter ceci:

Console.ReadLine();

ou

Console.Read();

3voto

John Woo Points 132738

ajouter READ méthode afin de montrer la sortie.

Console.WriteLine("Hello, World!");
Console.Read();
return 0;

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