do
{
do
{
//функция
} while (!Console.KeyAvailable);
//обработка события нажатия на клавишу
} while (Console.ReadKey().Key != ConsoleKey.Escape);
var source = new CancellationTokenSource();
var token = source.Token;
Task.Run(() =>
{
do
{
}
while (!token.IsCancellationRequested);
});
source.Cancel();