在C#中退出控制台应用程序的命令是什么?
C#中用于退出控制台应用程序的命令是什么?
您可以使用Environment.Exit(0);
和Application.Exit
Environment.Exit(0)
更清洁 。
几个选项,按最合适的方式sorting:
- 从Program.Main方法返回一个int
- 抛出一个exception,不要在任何地方处理(用于意外的错误情况)
- 强制别处终止,
System.Environment.Exit
( 不可移植!见下文 )
编辑9/2013以提高可读性
返回一个特定的退出代码:正如Servy在注释中指出的那样,你可以用一个int
返回types声明Main,并以这种方式返回一个错误代码。 所以实际上没有必要使用Environment.Exit, 除非你需要终止一个退出代码,并且不可能在Main方法中完成。 很可能你可以通过抛出一个exception来避免这种情况,并且如果有任何未处理的exception在那里传播,那么在Main中返回一个错误代码。 如果应用程序是multithreading的,则可能需要更多的样板才能正确地终止退出代码,因此只需调用Environment.Exit即可。
另一个反对使用Evironment.Exit
观点 – 即使在编写multithreading应用程序时也是可重用的 。 如果您想要在使Environment.Exit
不相关的Environment.Exit
(例如可能在Web服务器中使用的库)中重用您的代码,则代码将不可移植。 在我看来,最好的解决scheme仍然是始终使用表示方法达到某种错误/完成状态的exception和/或返回值。 这样,你可以在任何.NET环境和任何types的应用程序中始终使用相同的代码。 如果您正在编写专门需要返回退出代码或以与Environment.Exit
类似的方式终止的应用程序,则可以继续前进,并将线程包装在最高级别,并根据需要处理错误/exception。
主function完成运行时,控制台应用程序将退出。 一个“回报”将实现这一点。
static void Main(string[] args) { while (true) { Console.WriteLine("I'm running!"); return; //This will exit the console application's running thread } }
如果你要返回一个错误代码,你可以这样做,它可以从初始线程以外的函数访问:
System.Environment.Exit(-1);
您可以使用Environment.Exit(0)
和Application.Exit
。
Environment.Exit()
:终止这个过程,并为底层操作系统提供指定的退出代码。
我有这个疑问,发现答案很简单(我的应用程序也很简单)。
我也试图find一种方法来停止正在运行的控制台应用程序。 应用程序将执行任务,然后再次input初始循环,而不是退出。
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);
每当我input写或读function,完成后,程序将保持循环,并要求用户input,因为“do”循环的第一行。
简单的解决scheme是在两个函数之后添加一个break语句:
if (option == 1){ write(path); break; }else if (option == 2){ read(path); break; }else
就像switch语句一样。