事后等不及了

时间:2019-09-23 12:39:16

标签: c# async-await task

如何解决此任务/等待代码?我基本上是在调用一个返回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 个答案:

答案 0 :(得分:7)

变量类型不正确。

将其更改为此:

Task<int> tsk = First();

或仅使用var关键字

var tsk = First();

要删除警告,您需要使First()方法返回一个Task<int>,如下所示:

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

从上面的代码来看,似乎所有这些都不需要是异步的,因此,在这种情况下,您可能会在这里浪费时间。