在C#中退出控制台应用程序的命令是什么?

C#中用于退出控制台应用程序的命令是什么?

您可以使用Environment.Exit(0);Application.Exit

Environment.Exit(0) 更清洁 。

几个选项,按最合适的方式sorting:

  1. 从Program.Main方法返回一个int
  2. 抛出一个exception,不要在任何地方处理(用于意外的错误情况)
  3. 强制别处终止, 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语句一样。