Fangen Sie ESC ab, ohne andere Tastendrücke aus dem Puffer zu entfernen

Ich habe eine Konsolen-App, die den Benutzer zur Eingabe mehrerer Eingaben auffordert. Ich möchte, dass der Benutzer nach jeder Aufforderung, den Vorgang abzubrechen, die Escape-Taste drücken kann.

So etwas wie:

<code>if (Console.ReadKey().Key != ConsoleKey.Escape) {
  string input = Console.ReadLine();
  ...
}
</code>

Das Problem dabei ist jedoch, dass, wenn eine andere Taste als Escape gedrückt wird, diese nicht Teil der Eingabe ist (zurückgegeben vonReadLine).

Gibt es eine Möglichkeit, nach dem nächsten Schlüssel zu "gucken" oder dies auf andere Weise zu tun?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage