退出控制台应用程序的C#命令是什么?
答案 0 :(得分:263)
您可以使用Environment.Exit(0);
和Application.Exit
Environment.Exit(0)
is cleaner。
答案 1 :(得分:92)
按照最合适的方式排列几个选项:
System.Environment.Exit
(不可移动!见下文)2013年9月编辑以提高可读性
使用特定的退出代码返回:正如Servy在评论中指出的那样,您可以使用int
返回类型声明Main并以此方式返回错误代码。因此,确实不需要使用Environment.Exit ,除非需要使用退出代码终止,并且不能在Main方法中执行此操作。很可能你可以通过抛出异常来避免这种情况,并在Main中返回错误代码,如果有任何未处理的异常传播那么。如果应用程序是多线程的,你可能需要更多的样板来正确终止退出代码,这样你最好只调用Environment.Exit。
反对使用Evironment.Exit
的另一点 - 即使在编写多线程应用程序时 - 是可重用性。如果您希望在使Environment.Exit
无关的环境中重用代码(例如可能在Web服务器中使用的库),则代码将不可移植。在我看来,最好的解决方案仍然是使用异常和/或返回值来表示方法达到某种错误/完成状态。这样,您可以在任何.NET环境中以及任何类型的应用程序中始终使用相同的代码。如果您专门编写需要返回退出代码的应用程序或以类似于Environment.Exit
的方式终止的应用程序,那么您可以继续将线程包装在最高级别并处理错误/异常需要的。
答案 2 :(得分:23)
主函数运行完毕后,控制台应用程序将退出。 “回归”将实现这一目标。
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);
答案 3 :(得分:8)
您可以使用Environment.Exit(0)
和Application.Exit
。
Environment.Exit()
:终止此过程并为底层操作系统提供指定的退出代码。
答案 4 :(得分:-6)
我有这个疑问并且发现答案很简单(我的应用程序也非常简单)。
我也试图找到一种方法来停止正在运行的控制台应用程序。应用程序将执行任务,然后再次进入初始循环,而不是退出。
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);
每次我进入写入或读取功能时,完成后,由于“执行”循环的第一行,程序将继续循环并询问用户输入。
简单的解决方案是在两个函数之后添加break语句:
if (option == 1){
write(path);
break;
}else if (option == 2){
read(path);
break;
}else
与switch语句非常相似。
答案 5 :(得分:-11)
while(Console.Read()!='q'){}
Console.WriteLine( “再见。”);