从控制台应用程序退出的正确方法

时间:2016-02-14 16:05:28

标签: c# console-application

我已经完成了一些阅读herehere,我仍然对是否应该在我的控制台应用程序中使用Enviorment.Exit()感到困惑。

在方法中,如果用户在提示符处键入exit,则我有以下代码

if(userSelect == "exit"){
{
    Environment.Exit(0);
}

更新

class Program
    {
        public static void Main(string[] args)
        {

            Console.WriteLine("Welcome to my Console App");
            Console.WriteLine();
            consoleManager();

        }


        public static void consoleManager()
        {
            string consolePrompt="ConsoleApp">";


            string whichMethod="";
            Console.Write(consolePrompt);
            whichMethod = Console.ReadLine();

            if(whichMethod == "view enties")
            {           
                viewEntry();
            }
            else
                if(whichMethod == "Add Entry")
                {
                    addEntry();
                }
                else
                    if(whichMethod == "exit"){
                    {
                        //what to do here
                    }
                }
            else{
                help();
            }
        }

1 个答案:

答案 0 :(得分:3)

浏览MSDN文档 - Environment.Exit,它解释了参数

  

exitCode参数,使用非零数字表示错误。在   您的应用程序,您可以在一个。中定义自己的错误代码   枚举,并返回基于的相应错误代码   场景。例如,返回值1表示该值   所需文件不存在,值为2表示该文件   文件格式错误。

因此,如果你说退出(0),你会说你的过程成功退出而没有任何错误。如果您使用任何System Error Code,则通知操作系统何时出错。在您的情况下Environment.Exit(0)就足够了。

修改 我很确定,你是在思考它。需要考虑的要点 -

  1. 如果您要从Main退出,则只需返回简单的声明即可。
  2. 在其他地方使用Enviorment.Exit(),因为return语句会返回Main方法,程序仍会继续运行。
  3. 我希望您熟悉void Main(string[] args)int Main(string[] args)。不同之处在于返回值。如果您想要返回错误代码,则使用它,0表示成功,其他数字表示各种错误。您可以很好地使用上面链接的系统错误代码。
  4. 如果您的控制台程序的调用者使用了返回值,它可以归结为这一点。如果在运行它的dos提示符将被忽略。如果某些外部应用程序正在运行您的控制台,它可能会处理您的输出。