2014-10-06 2 views
-2

메신저를 편집하여 메서드를 포함하려고 시도했지만 실제로 작동하지 않습니다. 변경 될 때마다 오류 코드가 표시됩니다. 이번에는 내 오류 코드가 "모든 코드 경로가 값을 반환하지는 않습니다"이며, 필자의 메서드를 넣은 위의 모든 변수는 "선언되었지만 사용 된 적이 없습니다". 나는 적절한 방법을 사용하지 않고 누군가가 나를 도울 수 있는지 궁금해하고 있습니다. 나는 연구를 시도했다. 그러나 나는 그것을 이해할 수 없다."모든 코드 경로가 값을 반환하지 않습니다"오류

public static int Menu() 

그러나데도 방법이 아무것도 반환하지 않습니다

} 

public static int Menu() 
     { 

//Menu for user to select whether to load file or not. 
     Console.WriteLine(""); 
     string input = Console.ReadLine(); 
     switch (input.ToLower()) 

     { 
     case "yes": 
     case "maybe": 
      Console.WriteLine("Great!"); 
      break; 
     case "no": 
      Console.WriteLine("Too bad!"); 
      break; 
     default: 
      Console.WriteLine("I'm sorry, I don't understand that!"); 
      break; 
     } 
+0

int를 반환하고 결코 그 int를 반환하지 않는 메서드를 선언하고 있습니다. – deathismyfriend

+0

'Menu()'가 값을 반환하지 않게하려면 (단지 메시지 만 표시하고 숫자를 반환하지 말것),'int'를'void'로 변경하십시오. –

답변

3

방법은 그것이 int 값을 반환 함을 선언합니다 : 나는 오류를 얻을 경우 여기

이다.

public static void Menu() 

그렇지 않으면 컴파일러가 메소드의 모든 호출이 int (또는도 유효 예외,이 발생할 것이라는 점을 확인해야합니다 : 그것은 아무것도 반환하지 말아야 경우, 지정하는 선언을 변경 메소드에 대한 이탈 전략). 즉, 메서드를 통과하는 모든 논리 경로는 문에서 종료해야하며 int 값을 제공합니다.

+0

좋아요! 그거 고마워! 하지만 그것은 여전히 ​​내 변수가 선언되었지만 결코 사용되지 않는다고 말합니다. 그들을 건널 필요가 있습니까? – penumbra

+0

@penumbra : 만약 당신이 사용하지 않는 변수를 가지고 있다면 아마도 그것들을 완전히 제거 할 수 있습니다. 사용되지 않는 코드를 사용하는 데는 아무런 소용이 없습니다. – David

+0

@penumbra 정답이 맞으면 문제를 해결하십시오! – mybirthname

0

프로그래머 등 문자열, 정수, 부울, 같은 특정 일을 반환하는 코드를하고자 할 때마다, 그/그녀는 그것을 좋아 선언합니다 :

private string Greeting() 
{ 
    string a = "hello" 
    string b = "sir" 
    return a + " " + b; 
} 

이 예제에서 당신은 것 a와 b의 값을 결합하여 "Greenting"이라는 새 문자열을 만들 수 있습니다. 이 값을 반환하려면 "return"을 호출하고 출력을 지정해야합니다.

우리의 개인 문자열의 출력

위의 것 :하지만 당신의 경우 안녕하세요 선생님

을, 당신은 정말 당신이 단지 기능을 실행하려면, 반환 값의 형식이 필요하지 않을 것입니다. 이 경우 리턴 유형을 "void"로 지정하면 프로그램이 리턴을 요구하지 않고 기능을 수행 할 수 있습니다.

private void Menu() 
{ 
    int Selection; // Will hold selected option 
    Console.WriteLine("Please select one of the following options"); 
    Console.WriteLine("Option 1: Load a file"); 
    Console.WriteLine("Option 2: Do no load a file"); 
    Console.WriteLine("______________________________________"); 
    Console.WriteLine("Please select by entering option 1 or 2"); 
    Selection = Console.ReadLine(); 

    switch (Selection) 
    { 
     case 1: 
     Console.WriteLine("Great"); 
     // Perform whatever function needed to load file 
     // by inserting code here 
     return; 
     case 2: 
     Console.WriteLine("Too bad"); 
     // Perform whatever function needed when no file is loaded 
     // by inserting code here 
     return; 
     default: 
     Console.WriteLine("This is an invalid selection"); 
     // Perform function to redraw the menu and force user to enter a valid selection. 
     // by inserting code here 
     return; 
    } 
} 

그냥 필요한 기능을 메뉴를 생성하고 실행하는 코드에서() 함수 메뉴를 호출하는 기억 : 여기

내가 메뉴 선택 기능을 수행 할 방법이다.

이러한 반환 유형은 결국 귀하에게 제 2의 천성이됩니다. 이게 도움이 되길 바란다!

관련 문제