コンソールアプリのループの最後に、ユーザーからの入力を受け入れてループを再実行するか、Y/N の質問をしないかを理解しようとしています。
質問する
1457 次
6 に答える
4
bool executeLoop = true;
while (executeLoop)
{
...
Console.WriteLine("Again? (Y/N)");
string input = Console.ReadLine().ToUpper();
while (input != "N" && input != "Y")
{
Console.WriteLine("Invalid answer. Again? (Y/N)");
input = Console.ReadLine();
}
if (input == "N")
{
executeLoop = false;
// can also just write "break;"
}
}
この部分は、答えがYまたはNのいずれかであることを検証します。
while (input != "N" && input != "Y")
{
Console.WriteLine("Invalid answer. Again? (Y/N)");
input = Console.ReadLine();
}
また、その部分を削除して、「N」以外のすべての入力がループを継続するようにすることもできます。
もう1つの簡単な方法は次のとおりです。
while (true)
{
...
Console.WriteLine("Enter \"Y\" to continue...");
if (Console.ReadLine().ToUpper() != "Y")
{
break;
}
}
ユーザーが「Y」以外を入力するまでループが実行されるようにします。
于 2012-09-24T03:54:58.360 に答える
3
Console.ReadKey
ユーザーからキー入力を取得するために使用します。
while (true)
{
Console.Write("End program Y/N: ");
char input = Console.ReadKey().KeyChar;
if (input == 'Y' || input == 'y') break;
Console.WriteLine();
}
于 2012-09-24T03:57:36.340 に答える
0
do
{
if(!somecondition){ continue; }
DoSomething();
Console.WriteLine("Do something again? (y = yes)");
}
while(Console.ReadKey().Key == ConsoleKey.Y);
于 2012-09-24T04:39:58.740 に答える
0
これはどうですか
string s;
do
{
// some statements
s = Console.ReadLine();
} while(s=="yes");
于 2012-09-24T03:55:23.170 に答える
0
do while ループを実行します。
do
{
//do other stuff first
//then get input to Y and N question and set it
} while (input == 'Y');
于 2012-09-24T03:52:46.400 に答える
0
ループから抜け出したいときは、break コマンドが使えます。各休憩は、現在の最小のループから抜け出すだけであることに注意してください。
int count = 0;
string myentry = "";
for (count = 1; count < 10; count++)
{
Console.WriteLine("count=" + count);
Console.WriteLine("Continue? Enter \"Y\" or \"N\"");
myentry = Console.ReadLine().ToUpper();
if (myentry=="N")
{
break;
}
}
于 2012-09-24T04:02:11.030 に答える