2011-09-13 72 views
8

這應該很簡單。我只需要簡單地退出我的命令行c#程序 - 沒有花哨的東西。退出命令行程序的首選方式是什麼?

我應該使用

Environment.Exit(); 

this.Close(); 

還是其他什麼東西?

+1

'this.Close'甚至不能在控制檯應用程序中工作。 –

回答

11

在您的Main方法中使用return;
如果您在決定退出程序時不在主要方法中,則需要從Main方法當前執行的方法返回。

例子:

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

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

這是不是一個真正的控制檯應用程序的良好的整體設計的例子,但它說明了這一點。

+0

我想調用Main方法外部的退出。 – toop

+0

請參閱更新 –

+0

接受因爲第一個回答者和我結束了使用回報。 – toop

14

只是從Main方法返回。

編輯:

如果你真的已經失去了流動,並希望從任何地方退出應用程序(如由主要調用的任何方法中),你可以使用:

Environment.Exit(0); 

記通常情況下,如果一切正常,您應該返回0給調用進程(OS),如果發生錯誤並且執行沒有像應該那樣流暢,您將返回非零值。

+0

我想調用Main方法外部的退出。 – toop

+1

你在從main調用的方法裏面嗎?你不能回到主要和主要的回報嗎? –

+0

很好的答案,但稍有其他答案後 - 也使用了回報 – toop

相關問題