teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記修正

2020/04/08 01:11

投稿

YAmaGNZ
YAmaGNZ

スコア10663

answer CHANGED
@@ -1,3 +1,6 @@
1
1
  [Console.KeyAvailableプロパティ](https://docs.microsoft.com/ja-jp/dotnet/api/system.console.keyavailable?view=netframework-4.8)を利用して、キー入力があった時のみReadKeyしてはどうでしょうか
2
2
 
3
+ よくよくソースを見たら、
4
+ 正しいキーを押した場合はReadKeyを1回しか実行しないので問題はないのですが、間違ったキーを押した場合、elseifにてもう一回ReadKeyが呼ばれ、そこでブロックしているのではないですか?
5
+
3
- よくよくソスを見ら、ReadKeyを変数受けて処理すればいいだけなんじゃないでかね?
6
+ KeyAvailableプロパティにてキ入力があっと判断し後、ReadKeyを一旦変数受けて、その変数を利用して、その後の判断を行うようにすればよろしかと思

1

追記

2020/04/08 01:11

投稿

YAmaGNZ
YAmaGNZ

スコア10663

answer CHANGED
@@ -1,1 +1,3 @@
1
- [Console.KeyAvailableプロパティ](https://docs.microsoft.com/ja-jp/dotnet/api/system.console.keyavailable?view=netframework-4.8)を利用して、キー入力があった時のみReadKeyしてはどうでしょうか
1
+ [Console.KeyAvailableプロパティ](https://docs.microsoft.com/ja-jp/dotnet/api/system.console.keyavailable?view=netframework-4.8)を利用して、キー入力があった時のみReadKeyしてはどうでしょうか
2
+
3
+ よくよくソースを見たら、ただReadKeyを変数に受けて処理すればいいだけなんじゃないですかね?