for(int i = 0 ; i < 10 ; i++)
{
ConsoleKeyInfo press = Console.ReadKey();
if (press.Key == ConsoleKey.Escape)
break;
Console.WriteLine(i);
}
class Program
{
static volatile bool exit = false;
static void Main(string[] args)
{
Console.WriteLine("ESC - выход");
Task.Factory.StartNew(() =>
{
while (Console.ReadKey().Key != ConsoleKey.Escape) ;
exit = true;
}); // ожидание нажатия в другом потоке
while (!exit) // долгий цикл
{
// выполнение долгой операции
} // while
} // Main
} // class Program