私はC#を初めて使用し、プログラミング言語を自由に使えるようにするためにC#を学び始めましたが、CでもJavaでも遭遇しなかった小さな問題に遭遇しました。
キーボードからユーザーの応答を取得し、それを考えられるケースと比較しようとしています。これらのケースのいずれも一致しない場合は、ユーザーが正しい値を入力するまでプロセスを繰り返す必要があります。
String input = Console.ReadLine();
while ((input[0] != 'N') || (input[0] != 'Y'))
input = Console.ReadLine();
if (input[0] == 'N')
{
Console.WriteLine("NO");
Console.ReadKey();
}
else if (input[0] == 'Y')
{
Console.WriteLine("YES");
Console.ReadKey();
}
これは私が試した中で最も効率的な方法ではありません。dowhileループや他の多くのバリエーションも試しました。
私が遭遇する問題は、whileループがアクティブ化されていない場合、すべてが正常に機能することですが、それを追加すると、入力がNまたはYであっても常にループに入り、明らかにループを離れることはできません。間違っています。
誰かがなぜこれが起こっているのかについて私に洞察を与えることができるか、誰かがこれを行うためのより良い方法を提案するかもしれないならば、それは大いにありがたいです。ありがとうございました。
カリム