Console.KeyAvailable Property
.NET Framework 4.5
Gets a value indicating whether a key press is available in the input stream.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
| Exception | Condition |
|---|---|
| IOException | An I/O error occurred. |
| InvalidOperationException | Standard input is redirected to a file instead of the keyboard. |
The following example demonstrates how to use the KeyAvailable property to create a loop that runs until a key is pressed.
// This example demonstrates the Console.KeyAvailable property. using System; using System.Threading; class Sample { public static void Main() { ConsoleKeyInfo cki = new ConsoleKeyInfo(); do { Console.WriteLine("\nPress a key to display; press the 'x' key to quit."); // Your code could perform some useful task in the following loop. However, // for the sake of this example we'll merely pause for a quarter second. while (Console.KeyAvailable == false) Thread.Sleep(250); // Loop until input is entered. cki = Console.ReadKey(true); Console.WriteLine("You pressed the '{0}' key.", cki.Key); } while(cki.Key != ConsoleKey.X); } } /* This example produces results similar to the following text: Press a key to display; press the 'x' key to quit. You pressed the 'H' key. Press a key to display; press the 'x' key to quit. You pressed the 'E' key. Press a key to display; press the 'x' key to quit. You pressed the 'PageUp' key. Press a key to display; press the 'x' key to quit. You pressed the 'DownArrow' key. Press a key to display; press the 'x' key to quit. You pressed the 'X' key. */
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.