2010-09-22 8 views
10

Ich schreibe eine Beispielkonsole Anwendung in VS2008. Jetzt habe ich eine Console.WriteLine() Methode, die Ausgabe auf dem Bildschirm anzeigt, und dann gibt es Console.ReadKey(), die darauf wartet, dass der Benutzer die Anwendung beendet.Clear Console Buffer

Wenn ich eingeben Geben Sie ein, während die Console.WriteLine()-Methode angezeigt wird, wird die Anwendung beendet.

Wie kann ich den Eingangspuffer vor der Methode Console.ReadKey() löschen, so dass die Anwendung die Console.ReadKey()-Methode nicht beenden darf, egal wie oft der Benutzer die Eingabetaste drückt, während die Daten angezeigt werden?

Antwort

22
while(Console.KeyAvailable) 
{ 
    Console.ReadKey(false); 
} 
Console.ReadKey(); 
+2

Können Sie bitte erklären, was Sie gerade getan haben? –

+0

Sehr schön. Ich wusste nichts davon! @Soham: Lesen Sie über ['Console.KeyAvailable'] (http://msdn.microsoft.com/en-us/library/system.console.keyavailable.aspx) auf MSDN und ich denke, dass es klar wird. –

+0

Console.KeyAvailable gibt true zurück, wenn ein Schlüssel im Eingabepuffer vorhanden ist. Console.ReadKey (false) liest den Schlüssel aus dem Puffer, ohne ihn anzuzeigen. Dieser Zyklus sollte den Eingabepuffer löschen. – gandjustas