私は通常Console.ReadLine();
、単一のキーストロークをキャプチャするために使用します。しかし、この関数は実行をブロックし、それが起こるのを待ち続けます。
ループ内で、押された場合はキャプチャし、押されていない場合は実行を継続できますか?
最良の方法は、GUI アプリに似たもので、実行を続け、ショートカットが実行されるたびに傍受され、イベントがスローされてキャプチャされます。しかし、コンソール アプリでそれができるとは思えません。
2 番目に最適なソリューションはConsole.ReadLine();
、1 秒間待機してから戻ることです。関数の呼び出し中にユーザーがキーボード ボタンを押している場合、関数はキーストロークを識別してその文字を返します。それ以外の場合、関数は null を返します。