ユーザーに (Y/N) と言うように求めるコマンド ラインがあり、この値が checkResponse メソッドに渡されます。
何らかの理由で、デバッグ時に値が「Y」であるにもかかわらず、while ループが値を無視します。値が「N」に設定されている場合も、ループし続けます。if ステートメントを while ステートメントの下に移動すると、プログラムは途中で機能します。「Y」の初期値を送信すると、while ステートメントはそれを無視し、その中のコードの実行を開始します。
私が見逃している、または見落としているものは何か分かりますか?
前もって感謝します。
public void checkResponse(string response, string confirmValue)
{
Console.WriteLine(response);
Console.WriteLine(response);
if (response == "Y")
{
return;
}
else if (response == "N")
{
Environment.Exit(0);
}
else
{
while ((response != "Y") || (response != "N"))
{
Console.Clear();
Console.WriteLine("\"" + response + "\" is not a valid response.");
Console.WriteLine();
Console.WriteLine("You entered:" + confirmValue);
Console.WriteLine("Is this correct? (Y/N)");
response = Console.ReadLine().ToUpper();
}
}
}