Las aplicaciones de mi consola en Visual Studio se cierran automáticamente, por lo que me gustaría utilizar algo como C system("PAUSE")
para "pausar" las aplicaciones al final de su ejecución, ¿cómo puedo lograr eso?¿Cómo detener el cierre automático de las aplicaciones de la consola C#?
Respuesta
Console.ReadLine();
o
Console.ReadKey();
ReadLine()
espera a ↩, ReadKey()
espera a cualquier tecla (excepto para las teclas de modificación).
Editar: robó el símbolo de la llave de Darin.
Console.ReadLine()
que esperar a que el usuario Introduzca o Console.ReadKey
que esperar a que cualquier tecla.
Uso:
Console.ReadKey();
Para que se cierre cuando alguien presiona cualquier tecla o:
Console.ReadLine();
Para cuando el usuario escribe algo y pulsa Intro.
Usted sólo puede compilar (comience a depurar) su trabajo con Ctrl +F5.
Pruébalo. Siempre lo hago y la consola me muestra mis resultados abiertos. No se necesita código adicional.
Ctrl + F5 reconstruye la aplicación (si es necesario) y la ejecuta * sin depuración * (es decir, el depurador no está conectado) en una nueva ventana de consola donde, después de que la aplicación ha salido, se ejecuta un comando 'pausa 'o similar en el la misma ventana. La 'pausa 'sirve para darle la oportunidad de leer la salida antes de que se cierre la ventana de la consola. Cuando la aplicación se utiliza desde la línea de comandos, no es necesaria ninguna pausa, ya que la ventana de la consola no se cierra después de que un comando ha finalizado. –
@ToolmakerSteve Se votó en aumento porque es la mejor solución al problema que está teniendo el OP. –
@ToolmakerSteve, esto es lo que estoy buscando. Sé ReadLine() y Read() y quería evitar eso. – VivekDev
Pruebe Ctrl + F5 en Visual Studio para ejecutar su programa, esto agregará una pausa con "Presione cualquier tecla para continuar ..." automáticamente sin ninguna función Console.Readline() o ReadKey().
Como alternativa, puede retrasar el cierre usando el siguiente código:
System.Threading.Thread.Sleep(1000);
Nota del Sleep
está utilizando milisegundos.
Thread.Sleep (TimeSpan.FromSeconds (1)) si alguien quería trabajar mentalmente con los segundos –
'System.Threading.Thread.Sleep (-1)' para dormir indefinidamente. – Acidic
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 programa con F5 y pone un punto de interrupción, puede depurar su aplicación y eso le brinda otras ventajas.
Esas soluciones mencionadas cambian el funcionamiento de su programa.
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 dev bajo Visual Studio o si VS no se ejecuta solo si lo configura explícitamente, y no desea el molesto 'Press any key to exit...'
cuando se ejecuta desde la línea de comandos, el camino a seguir es usar la API System.Diagnostics.Debugger
.
Si solo desea que funcione en DEBUG
, simplemente ajuste 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 programas que necesitan privilegios elevados o que necesitan poder elevarse.
Si no desea que el programa se cierre aunque un usuario presione cualquier tecla;
while (true) {
System.Console.ReadKey();
};//This wont stop app
esto crea un bucle infinito. Casi nunca una buena idea. –
Está esperando en la tecla de lectura para no hacer bucles continuamente, esto tiene sus aplicaciones. Si tiene otro manejo para controlar la aplicación, esta es una solución viable. ¡Hasta el infinito y más allá! :) – Hariboo
Digamos que detecta una pulsación de tecla, ¿entonces qué? Solo espera la siguiente pulsación de tecla. No sale del circuito. Simplemente diga "Usar' System.Console.Readkey() '" en lugar de confundir el problema con un ejemplo roto. Aun así, usar un bucle infinito debería tratarse como usando 'goto'. ¡Es agradable poder cuando lo necesitas pero no usarlo solo porque puedes! Finalmente, insertar un 'presionar cualquier tecla para continuar' en una aplicación que no debería necesitarlo es un truco kludgy. Esta no es la solución al problema del OP. Todas las respuestas en esta pregunta son incorrectas, excepto la de @Slobodan Stanković –
- 1. ¿Cómo detener la consola desde el cierre al salir?
- 2. Cómo evitar el cierre automático de la consola después de la ejecución del archivo por lotes.
- 3. ¿Cómo prevenir el cierre automático de las llaves en ReSharper?
- 4. F consola # parada de cierre
- 5. Método RenderControl que no representa las etiquetas de cierre automático
- 6. ¿Cómo lograr el cierre de sesión automático en php?
- 7. ¿Cuál es exactamente el efecto de Ctrl-C en las aplicaciones de consola C++ Win32?
- 8. Detener Python desde el cierre en el error
- 9. Zend Framework Cierre de sesión automático después de la inactividad
- 10. jQuery HTML() y de cierre automático etiquetas
- 11. ¿Cómo se evita que la consola se cierre después de que el programa finalice en C?
- 12. WPF - Cierre automático de Main en App.g.cs
- 13. etiquetas de cierre automático utilizando createElement
- 14. ReSharper y cierre automático paréntesis
- 15. llaves de cierre automático en Emacs?
- 16. ¿Cómo lidiar con^C en aplicaciones de consola JVM?
- 17. Cierre de sesión automático una vez que la sesión caduque
- 18. Detener hipervínculo automático en Outlook, Gmail, etc.
- 19. Formas de implementar aplicaciones de consola en C#
- 20. ¿Cómo renderizar una etiqueta de cierre automático usando TagBuilder?
- 21. ¿Existe alguna manera de evitar las etiquetas de cierre automático cuando se utiliza la serialización XML?
- 22. matar limpiamente una aplicación de consola desde el interior de un grupo de aplicaciones de consola
- 23. ¿Cómo compila VS las aplicaciones de la consola para mostrar "Presione cualquier tecla para continuar"?
- 24. Consideraciones arquitectónicas en el diseño de aplicaciones de consola?
- 25. C# ventana de cierre automático con suspensión, pero el texto desaparece
- 26. Problema de cierre automático de solicitud de extracción en GitHub
- 27. ¿Cómo puedo detener el incremento automático en las inserciones ignoradas que no hacen cambios en MySQL?
- 28. Resultado de la consola desde aplicaciones web en Visual Studio
- 29. ¿Cómo hacer que XMLDocument no ponga espacios en las etiquetas de cierre automático?
- 30. Visualización de la salida de las aplicaciones de la consola mutilple .Net en un solo lugar
" 'consola' no contiene una definición para 'ReadKey' en asp.net 5 consola App" aparece, entra aquí: http://stackoverflow.com/questions/30588478/console-does -not-contain-a-definition-for-readkey-in-asp-net-5-console-app –
Esto es realmente una mala respuesta porque le da al OP lo que pidió en lugar de lo que necesita. Decir al OP que rompa su software para que funcione en la forma en que lo lanza es solo un mal consejo. Entre otras cosas, hace que sea imposible usar el programa en una tubería. –
La respuesta de Silva es mejor, ejecutar con Control-F5 – Del