Т.е. если в течении какого то времени не был введен правильный ответ (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);
}
}
}
use case. Сейчас не очень понятно что и как должно всё-таки происходить. А так возможно вам нужно использоватьTask.Runhttps://learn.microsoft.com/ru-ru/dotnet/api/system.threading.tasks.task.run – CrazyElf Apr 03 '23 at 07:14