Как зациклить проверку на нажатую клавишу? - C#
Формулировка задачи:
public static void Main(string[] args)
{
ConsoleKey K = Console.ReadKey().Key;
switch(K)
{
case ConsoleKey.UpArrow :
Console.SetCursorPosition(Console.CursorTop, Console.CursorTop);
break;
case ConsoleKey.DownArrow :
Console.SetCursorPosition(Console.CursorTop, Console.CursorLeft);
break;
case ConsoleKey.LeftArrow :
Console.SetCursorPosition(0, Console.CursorLeft);
break;
case ConsoleKey.RightArrow :
Console.SetCursorPosition(Console.CursorLeft, 0);
break;
case ConsoleKey.Escape :
break;
}
Console.ReadKey();
}Решение задачи: «Как зациклить проверку на нажатую клавишу?»
textual
Листинг программы
class Program
{
public static int origRow;
public static int origCol;
protected static void WriteAt(int x, int y)
{
try
{
Console.SetCursorPosition(origCol + x, origRow + y);
}
catch (ArgumentOutOfRangeException e)
{
Console.Clear();
Console.WriteLine(e.Message);
}
}
static void Main(string[] args)
{
Console.Clear();
ConsoleKey K=new ConsoleKey();// = Console.ReadKey().Key;
while (K != ConsoleKey.Escape)
{
origRow = Console.CursorTop;
origCol = Console.CursorLeft;
K = Console.ReadKey().Key;
switch (K)
{
case ConsoleKey.UpArrow:
Program.WriteAt(0, -1);
break;
case ConsoleKey.DownArrow:
Program.WriteAt(0, 1);
break;
case ConsoleKey.LeftArrow:
Program.WriteAt(-1, 0);
break;
case ConsoleKey.RightArrow:
Program.WriteAt(1, 0);
break;
case ConsoleKey.Escape:
break;
}
}
}
}