Cómo mantener abierta la ventana de la consola

Cuando ejecuto mi progtwig, la ventana de la consola parece ejecutarse y cerrarse. ¿Cómo mantenerlo abierto para que pueda ver los resultados?

class Program { public class StringAddString { public virtual void AddString() { var strings2 = new string[] { "1", "2", "3", "4", "5","6", "7", "8", "9"}; Console.WriteLine(strings2); Console.ReadLine(); } } static void Main(string[] args) { StringAddString s = new StringAddString(); } } 

Olvidaste llamar a tu método:

 static void Main(string[] args) { StringAddString s = new StringAddString(); s.AddString(); } 

debería detener su consola, pero el resultado podría no ser el esperado, debería cambiar el código un poco:

 Console.WriteLine(string.Join(",", strings2)); 

Ponga una Console.Read () como la última línea en su progtwig. Eso evitará que se cierre hasta que presione una tecla

 static void Main(string[] args) { StringAddString s = new StringAddString(); Console.Read(); } 

Si desea mantenerlo abierto cuando está depurando, pero aun así dejarlo que se cierre normalmente cuando no esté depurando, puede hacer algo como esto:

 if (System.Diagnostics.Debugger.IsAttached) Console.ReadLine(); 

Al igual que otras respuestas, la llamada a Console.ReadLine() mantendrá la ventana abierta hasta que se presione enter, pero Console.ReadLine() solo se invocará si está conectado el depurador.

Hay dos formas que conozco de

1) Console.ReadLine() al final del progtwig. Desventaja, tienes que cambiar tu código y debes recordar sacarlo

2) Ejecutar fuera del depurador CONTROL-F5 esto abre una ventana de consola fuera de Visual Studio y esa ventana no se cerrará cuando haya terminado. Ventaja, no tienes que cambiar tu código. Desventaja, si hay una excepción, no caerá en el depurador (sin embargo, cuando obtenga excepciones, simplemente puede volver a ejecutarlo en el depurador)

 Console.ReadKey(true); 

Este comando es un poco más agradable que readline, que solo pasa cuando presionas enter, y el verdadero parámetro también oculta el feo cursor parpadeante mientras lee el resultado 🙂 luego cualquier pulsación de tecla termina

Escribir Console.ReadKey(); en la última línea del método main() Esta línea evita terminar la consola. Espero que te ayude

Puede manejar esto sin requerir una entrada de usuario.

Paso 1. Crea un evento manualRest al comienzo del hilo principal

 ManualResetEvent manualResetEvent = new ManualResetEvent(false); 

Paso 2 . Espere ManualResetEvent

 manualResetEvent.WaitOne(); 

Paso 3. Para detener

 manualResetEvent.Set(); 

Use Console.Readline () al final. Su código no se cerrará hasta que lo cierre manualmente. Dado que Readline espera la entrada que debe ingresarse para su código, su consola estará abierta hasta que escriba alguna entrada.

Asegúrese de usar Console.ReadLine(); para mantener la Consola Console.WriteLine(""); mensaje desde el cierre.