Csharp/CSharp Tutorial/Development/ConsoleKey
Read keystrokes from the console by using ReadKey()
<source lang="csharp">using System;
class MainClass {
public static void Main() { ConsoleKeyInfo keypress; Console.WriteLine("Enter keystrokes. Enter Q to stop."); do { keypress = Console.ReadKey(); // read keystrokes Console.WriteLine(" Your key is: " + keypress.KeyChar); // Check for modifier keys. if((ConsoleModifiers.Alt & keypress.Modifiers) != 0) Console.WriteLine("Alt key pressed."); if((ConsoleModifiers.Control & keypress.Modifiers) != 0) Console.WriteLine("Control key pressed."); if((ConsoleModifiers.Shift & keypress.Modifiers) != 0) Console.WriteLine("Shift key pressed."); } while(keypress.KeyChar != "Q"); }
}</source>
Enter keystrokes. Enter Q to stop. q Your key is: q w Your key is: w e Your key is: e q Your key is: q w Your key is: w e Your key is: e r Your key is: r e Your key is: e w Your key is: w q Your key is: q Q Your key is: Q Shift key pressed.
Use ConsoleKey to get input
<source lang="csharp">using System; using System.Collections.Generic; class MainClass {
public static void Main() { ConsoleKeyInfo key; Console.WriteLine("Process input until the user enters Alt-X or Alt-x"); do { key = Console.ReadKey(true); Console.WriteLine(key); if (key.Key == ConsoleKey.F1) { Console.WriteLine("F1"); } // Handle backspace. if (key.Key == ConsoleKey.Backspace) { Console.WriteLine("Backspace"); } // Handle Escape. else if (key.Key == ConsoleKey.Escape) { Console.WriteLine("Escape"); } // Handle character input. else if (key.Key >= ConsoleKey.A && key.Key <= ConsoleKey.Z) { Console.WriteLine(">=ConsoleKey.A && <= ConsoleKey.Z"); } } while (key.Key != ConsoleKey.X || key.Modifiers != ConsoleModifiers.Alt); }
}</source>
Process input until the user enters Alt-X or Alt-x System.ConsoleKeyInfo >=ConsoleKey.A && <= ConsoleKey.Z System.ConsoleKeyInfo >=ConsoleKey.A && <= ConsoleKey.Z System.ConsoleKeyInfo >=ConsoleKey.A && <= ConsoleKey.Z System.ConsoleKeyInfo >=ConsoleKey.A && <= ConsoleKey.Z System.ConsoleKeyInfo >=ConsoleKey.A && <= ConsoleKey.Z System.ConsoleKeyInfo >=ConsoleKey.A && <= ConsoleKey.Z System.ConsoleKeyInfo >=ConsoleKey.A && <= ConsoleKey.Z System.ConsoleKeyInfo >=ConsoleKey.A && <= ConsoleKey.Z System.ConsoleKeyInfo >=ConsoleKey.A && <= ConsoleKey.Z