2011-09-13 5 views

答えて

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メソッドの外側からexitを呼び出したいとします。 – toop

+0

最初の回答者と私はリターンを使用して終了したので、更新 –

+0

を受け入れてください。 – toop

14

ちょうどMainメソッドから戻る。

編集:

あなたが本当に流れを失い、(主によって呼び出されるメソッド内のような)アプリケーション内のどこからでも終了したい場合は、あなたが使用することができます。

Environment.Exit(0); 

覚えています通常、すべてがうまくいったときに呼び出し元のプロセス(OS)に0を返す必要があります。エラーが発生して実行が正常に実行されなかった場合はゼロ以外の値を返します。

+0

Mainメソッドの外側からexitを呼び出す必要があります。 – toop

+1

メインから呼び出されたメソッドの中にいますか?メインとメインのリターンに戻ることはできません。 –

+0

偉大な答えが少し他の答えの後に - また私はリターンを使用 – toop