2017-12-19 18 views
0

내 할당을 위해이 루프를 실행하여 ID # 및 이름을 2 차원 배열로 수집합니다. 하지만 사용자가 앉아서 30 세트의 숫자와 이름을 입력하고 싶지 않은 경우 루프에서 빠져 나오고 싶습니다. 왜냐하면 ... 왜 그랬을까요?!키 누르기로 for 루프를 종료하려면 어떻게해야합니까?

do 
{ 
//the stuff 
} while(Console.ReadKey().Key != ConsoleKey.Escape); 

을하지만 그것은 작동하지 않습니다

string[,] studentNames = new string[30,30]; 

// Accepting value from user 
for (i = 0; i < 30; i++) 
{ 
    Console.Write("\nEnter id #, Student Name :\t"); 

    //Storing value in an array 
    studentNames[i, 0] = (Console.ReadLine()); 
} 

나는 추가 시도했습니다.

readLine = (Console.ReadLine()); 
if(readLine == "exit") break; 
studentNames[i, 0] = readLine; 

사용자 입력 단어 종료하면 종료됩니다 :

+0

힌트, "if"및 "break" –

+0

"break"는 어떤 루프에서 벗어나기 위해 사용됩니다. https://www.tutorialspoint.com/csharp/csharp_loops.htm – Wahyu

+0

또한'Console.ReadLine()'결과를 변수에 할당하면 도움이 될 것입니다. –

답변

4

는이 같은 것을 사용할 수 있습니다. 언어에 따라, readLine == "exit"은 funcition을 비교하는 문자열로 바꿔야 할 수도 있습니다.

도움이되기를 바랍니다.

+0

이 시나리오에서 'esc'키 누르기가 옵션이 아닙니까? –

+2

@MichaelM'Console.ReadLine'을 사용하여 텍스트를 입력하는 것은 쉽지 않습니다. "입력"을 누를 때까지 "차단"됩니다. "esc"가 트리거하지 않습니다. 한 번에 한 문자 씩 입력하고 "실제"문자열을 작성하고 "esc"키를 보려는 전체 입력 메커니즘을 변경해야합니다. 그것은 가능하지만 숙제의 범위를 넘어서는 것 같습니다. –