Как сделать ограничение на ввод по времени?
Т.е. если в течении какого то времени не был введен правильный ответ (theard или task?), то переменной основного потока передается какое то значение. Этот код не работает, т.к. string test = await PrintAsync(); блокирует основной поток в ожидании значения
class Program
{
async static Task Main(string[] args)
{
string test = await PrintAsync();
async Task <string> PrintAsync()
{
await Task.Delay(3000);
string name = "";
return name;
}
while (true)
{
if(test=="")
{
break;
}
Console.WriteLine("Ввод ответа");
string text = Console.ReadLine();
Console.WriteLine("ответ" + text);
}
}
}
Источник: Stack Overflow на русском