2016-09-06 5 views
3

내 콘솔 응용 프로그램에 문제가 있습니다. 사용자 입력 내용을 확인하고 사용자가 작성한 내용에 따라 실행하고 싶습니다. 내 코드는 다음과 같이 보입니다 : 내가 콘솔에 LIST를 입력 할 때, 내가 줄 휴식을 얻고, 내가 다시 목록을 입력 할 필요가 예상되는 동작을 얻기 위해, 그리고 다른 모든-경우 다음 문 이제else-if 문의 Console.ReadLine 예기치 않은 동작

if(Console.ReadLine() == "ADD") 
{ 
    //Add 
} 
else if (Console.ReadLine() == "LIST") 
{ 
    //DisplayList 
} 
else if (Console.ReadLine() == "SORT") 
{ 
    //Sort 
} 
else 
{ 
    //DisplayErrorMsg 
} 

그냥 다른 줄 바꿈을 추가하십시오. (아래 예 참조) 나는 어디에서나 볼 수 있었지만 내가 잘못한 것을 볼 수는 없습니다 ... 도와주세요!

SORT 
SORT 
SORT 
//Sorting... 

답변

6

당신은 ReadLine 여러 번 호출 할 따라서 당신은 표준 입력에서 여러 번 읽어 보시기 바랍니다. 다음을 시도하십시오.

var line = Console.ReadLine(); 

if (line == "ADD") 
{ 
    //Add 
} 
else if (line == "LIST") 
{ 
    //DisplayList 
} 
else if (line == "SORT") 
{ 
    //Sort 
} 
else 
{ 
    //DisplayErrorMsg 
} 
+0

물론 ... 번개가 빠른 응답으로 모두들 덕분에! –

2

문자열을 입력하여 문자열을 테스트하십시오.

string line = Console.ReadLine(); 
if (line == "ADD") 
{ 
    //Add 
} 
else if (line == "LIST") 
{ 
    //DisplayList 
} 
else if (line == "SORT") 
{ 
    //Sort 
} 
else 
{ 
    //DisplayErrorMsg 
} 
2

Console.ReadLine()으로 전화 할 때마다 사용자 입력을 기다립니다.

Console.ReadLine() 실행에서 반환 된 값을 변수에 할당하십시오.

그런 다음 if를 수행하고, 그렇지 않으면 해당 변수를 검사하십시오.

var userInput = Console.ReadLine(); 

if(userInput == "ADD") 
{ 
    //Add 
} 
else if (userInput == "LIST") 
{ 
    //DisplayList 
} 
else if (userInput == "SORT") 
{ 
    //Sort 
} 
else 
{ 
    //DisplayErrorMsg 
} 
2
string readfromConsole = Console.ReadLine() 
if(readfromConsole == "ADD") 
    { 
     //Add 
    } 
    else if (readfromConsole == "LIST") 
    { 
     //DisplayList 
    } 
    else if (readfromConsole == "SORT") 
    { 
     //Sort 
    } 
    else 
    { 
     //DisplayErrorMsg 
    } 

당신이 겪고있는 문제는 Console.readLine은 그것이 새로운 라인을 읽고 말한다 정확히 않는다는 것입니다. 따라서이 변경 사항은 첫 번째 읽기를 저장하고 매번 새 줄을 읽는 대신 비교합니다. 나는 이것이 도움이되기를 바랐다.