c# - ventana - comando para terminar programa en c++
¿Cuál es el comando para salir de una aplicación de consola en C#? (6)
¿Cuál es el comando en C # para salir de una aplicación de consola?
Las aplicaciones de la consola se cerrarán cuando la función principal haya terminado de ejecutarse. Un "retorno" logrará esto.
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("I''m running!");
return; //This will exit the console application''s running thread
}
}
Si está devolviendo un código de error, puede hacerlo de esta manera, a la que se puede acceder desde las funciones fuera del hilo inicial:
System.Environment.Exit(-1);
Puede utilizar Environment.Exit(0)
y Application.Exit
.
Environment.Exit()
: termina este proceso y le da al sistema operativo subyacente el código de salida especificado.
Tuve esta duda y encontré que la respuesta era simple (mi aplicación también era bastante simple).
También estaba intentando encontrar una forma de detener la aplicación de consola que se estaba ejecutando. La aplicación realizaría una tarea y luego volvería a entrar en el bucle inicial, en lugar de salir.
do{
byte.TryParse(Console.ReadLine(), out option);
if (option == 1){
write(path);
}else if (option == 2){
read(path);
}else
Console.WriteLine("Wrong option");
} while (option != 1 || option != 2);
Cada vez que ingresaba a la función de escritura o lectura, cuando terminaba, el programa continuaba repitiendo y solicitando la entrada del usuario, debido a la primera línea del bucle "hacer".
Una solución simple es simplemente agregar una declaración de ruptura después de ambas funciones:
if (option == 1){
write(path);
break;
}else if (option == 2){
read(path);
break;
}else
Al igual que la declaración de cambio.
Varias opciones, por orden de manera más apropiada:
- Devuelve un int desde el método Program.Main
- Lance una excepción y no la maneje en ningún lugar (use para situaciones de error inesperadas)
- Para forzar la terminación en otro lugar,
System.Environment.Exit
( no portátil! Vea más abajo )
Editado el 9/2013 para mejorar la legibilidad
Regresando con un código de salida específico: Como señala Servy en los comentarios, puede declarar Main con un tipo de retorno int
y devolver un código de error de esa manera. Así que realmente no hay necesidad de usar Environment.Exit a menos que necesite terminar con un código de salida y no pueda hacerlo con el método Main. Lo más probable es que pueda evitarlo lanzando una excepción y devolviendo un código de error en Main si alguna excepción no manejada se propaga allí. Si la aplicación es multiproceso, es probable que necesites aún más repetitivo para terminar correctamente con un código de salida, por lo que es mejor que llames a Environment.Exit.
Otro punto en contra del uso de Evironment.Exit
, incluso cuando se escriben aplicaciones de subprocesos múltiples, es la reutilización . Si alguna vez desea reutilizar su código en un entorno que hace que Environment.Exit
sea irrelevante (como una biblioteca que puede usarse en un servidor web), el código no será portátil. La mejor solución aún es, en mi opinión, usar siempre excepciones y / o valores de retorno que representen que el método alcanzó algún estado de error / finalización. De esa manera, siempre puede usar el mismo código en cualquier entorno .NET y en cualquier tipo de aplicación. Si está escribiendo específicamente una aplicación que necesita devolver un código de salida o terminar de una manera similar a como lo hace Environment.Exit
, entonces puede continuar y envolver el hilo en el nivel más alto y manejar los errores / excepciones según sea necesario.
while (Console.Read ()! = ''q'') {}
Console.WriteLine ("Bye.");
Puedes usar Environment.Exit(0);
y Application.Exit
Environment.Exit(0)
es más limpio .