2011-09-13 3 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

첫 번째 응답자와 i가 반환을 사용했기 때문에 업데이트 –

+0

을 수락하십시오. – toop

14

그냥 Main 메서드에서 반환합니다.

편집 : 당신이 정말로 흐름을 잃고 (메인 의해 호출 어떤 방법 내부 등) 응용 프로그램에서 어디를 종료 할 경우

, 당신은 사용할 수 있습니다

Environment.Exit(0); 

기억 일반적으로 모든 것이 잘되었을 때 호출 프로세스 (OS)에 0을 리턴해야하고 오류가 발생하여 실행이 원활하지 않은 경우 0이 아닌 값을 리턴해야합니다.

+0

Main 메서드 외부에서 exit를 호출하려고합니다. – toop

+1

main에서 호출 한 메서드 안에 있습니까? 메인 및 메인 리턴으로 돌아갈 수 없습니까? –

+0

위대한 답변이지만 약간 다른 대답 후에 - 또한 반환을 사용했습니다. – toop

관련 문제