0

私は通常Console.ReadLine();、単一のキーストロークをキャプチャするために使用します。しかし、この関数は実行をブロックし、それが起こるのを待ち続けます。

ループ内で、押された場合はキャプチャし、押されていない場合は実行を継続できますか?

最良の方法は、GUI アプリに似たもので、実行を続け、ショートカットが実行されるたびに傍受され、イベントがスローされてキャプチャされます。しかし、コンソール アプリでそれができるとは思えません。

2 番目に最適なソリューションはConsole.ReadLine();、1 秒間待機してから戻ることです。関数の呼び出し中にユーザーがキーボード ボタンを押している場合、関数はキーストロークを識別してその文字を返します。それ以外の場合、関数は null を返します。

4

1 に答える 1

1

コンソールの MSDN キー プレス情報を読みましたか?

Console.KeyAvailable実際にキューでキーを取得する必要があるかどうかを判断するために使用できます。

于 2015-08-10T13:36:46.933 に答える