Не могу дождаться задачи после свершившегося факта - PullRequest
0 голосов
/ 23 сентября 2019

Как я могу исправить этот код задачи / ожидания?Я в основном вызываю метод, который возвращает Task и Awaiting позже.Во-первых, он говорит, что Awaited task returns no value, что он делает (для меня в любом случае).Тогда он говорит, что не может преобразовать void в int.Как придешь?Заранее спасибо.

class Program
    {
        static async void Main(string[] args)
        {

            var tsk = First();
            int mynumb = await tsk;
            return;

        }
        static async Task<int> First()
        {
            return 2;  
        }


    }

enter image description here

1 Ответ

7 голосов
/ 23 сентября 2019

Неверный тип переменной.

Измените его на:

Task<int> tsk = First();

или просто используйте ключевое слово var

var tsk = First();

Чтобы удалить предупреждениевам нужно, чтобы метод First() возвращал Task<int>, как показано ниже

static Task<int> First()
{
    return Task.FromResult(2);
}

Из приведенного выше кода кажется, что ничего из этого не должно быть асинхронным, так что если это таквероятно, зря тратят здесь время.

...