gpt4 book ai didi

c# - 如何编写简单的异步方法?

转载 作者:可可西里 更新时间:2023-11-01 03:01:10 25 4
gpt4 key购买 nike

使用带有 async/await 关键字的最新 CTP5,我写了一些代码,显然无法编译:

 class Program
{
public class MyClass
{
async public Task<int> Test()
{
var result = await TaskEx.Run(() =>
{
Thread.Sleep(3000);
return 3;
});
return result;
}
}

static void Main(string[] args)
{
var myClass = new MyClass();

//The 'await' operator can only be used in a method or lambda marked with the 'async' modifier error ??!!
int result = await myClass.Test();

Console.ReadLine();
}
}

“'await' 运算符只能用于标有 'async' 修饰符错误的方法或 lambda 中”的原因是什么? (我选择了 Visual Studio 指向的行)

最佳答案

我不知道是否可以将 Main 标记为异步,但您需要在使用 await 的任何方法的声明中包含 async 关键字。例如:

public async void DoStuffAsync ()
{
var myClass = new MyClass ();

int result = await myClass.TestAsync ();
}

关于c# - 如何编写简单的异步方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6772789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com