退出命令行程序的首选方法是什么?

too*_*oop 14 .net c# command-line

这应该是直截了当的.我只需要退出命令行c#程序 - 没有花哨的东西.

我应该用吗?

Environment.Exit();
Run Code Online (Sandbox Code Playgroud)

要么

this.Close();
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?

Dav*_*ras 18

只是从Main方法返回.

编辑:

如果你真的丢失了流并想要从应用程序的任何地方退出(比如Main中调用的任何方法),你可以使用:

Environment.Exit(0);
Run Code Online (Sandbox Code Playgroud)

记住,通常你应该在一切正常时将0返回到调用进程(OS),如果发生错误并且执行没有像应该的那样顺利执行,则返回非零值.


Dan*_*rth 12

return;在您的Main方法中使用.
如果在决定退出程序时不在main方法中,则需要从Main方法当前执行的方法返回.

例:

void Main(...)
{
    DisplayAvailableCommands();
    ProcessCommands();
}

void ProcessCommands()
{
    while(true)
    {
        var command = ReadCommandFromConsole();
        switch(command)
        {
            case "help":
                DisplayHelp();
                break;
            case "exit":
                return;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这并不是控制台应用程序良好整体设计的一个例子,但它说明了这一点.