¿Cómo evitar que las aplicaciones de la consola C # se cierren automáticamente?

Las aplicaciones de mi consola en Visual Studio se cierran automáticamente, así que me gustaría usar algo como el system("PAUSE") de C system("PAUSE") para “pausar” las aplicaciones al final de su ejecución, ¿cómo puedo lograr eso?

 Console.ReadLine(); 

o

 Console.ReadKey(); 

ReadLine() espera , ReadKey ReadKey() espera cualquier tecla (excepto las teclas modificadoras).

Editar: robó el símbolo clave de Darin.

Puede simplemente comstackr (iniciar la depuración) su trabajo con Ctrl + F5 .

Intentalo. Siempre lo hago y la consola me muestra mis resultados abiertos. No se necesita código adicional.

Intente Ctrl + F5 en Visual Studio para ejecutar su progtwig, esto agregará una pausa con “Presione cualquier tecla para continuar …” automáticamente sin ninguna función Console.Readline () o ReadKey ().

Console.ReadLine() para esperar que el usuario ingrese o Console.ReadKey para esperar cualquier clave.

Utilizar:

 Console.ReadKey(); 

Para que se cierre cuando alguien presiona una tecla, o:

 Console.ReadLine(); 

Para cuando el usuario escribe algo y presiona enter.

Ctrl + F5 es mejor, porque no necesita líneas adicionales. Y puede, al final, presionar entrar y salir del modo de ejecución.

Pero cuando inicia un progtwig con F5 y pone un punto de quiebre, puede depurar su aplicación y eso le brinda otras ventajas.

Alternativamente, puede retrasar el cierre utilizando el siguiente código:

 System.Threading.Thread.Sleep(1000); 

Tenga en cuenta que Sleep está usando milisegundos.

Esas soluciones mencionadas cambian el funcionamiento de su progtwig.

Puede, por supuesto, poner #if DEBUG y #endif alrededor de las llamadas de la Consola, pero si realmente desea evitar que la ventana se cierre solo en su máquina de desarrollo bajo Visual Studio o si VS no se ejecuta solo si lo configura explícitamente, y no quiere el molesto 'Press any key to exit...' cuando se ejecuta desde la línea de comando, el camino a seguir es usar la API System.Diagnostics.Debugger .

Si solo quieres que funcione en DEBUG , simplemente ajusta este código en un método [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(); } 

Esto también funciona para depurar progtwigs que necesitan privilegios elevados o que necesitan poder elevarse.

Si no desea que el progtwig se cierre incluso si un usuario presiona cualquier tecla;

  while (true) { System.Console.ReadKey(); };//This wont stop app