2017-12-19 20 views
0

私のASSIGNMENTについては、このループを実行してIDの#と名前を2次元配列に集めています。 しかし、ユーザーが座って30組の数字と名前を入力したくない場合は、ループから脱出することができます。なぜ...?キープレスでforループを終了するにはどうすればよいですか?

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()); 
} 

私が追加しようとしました:

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

しかし、それは動作しません。

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'を使ってテキストを入力するのは簡単ではありません。あなたが "enter"を押すのが見えるまで "ブロック"します。 "esc"はそれをトリガーしません。一度に1文字ずつ入力するように入力メカニズム全体を変更して、実際の文字列を作成し、「esc」キーを監視する必要があります。それは可能ですが、おそらくあなたの宿題の範囲を超えています。 –

関連する問題