1.C#语言的两个异步关键字:async和await

C# 支持使用两个关键字来支持异步程序:async 和 await。 将 async 修饰符添加到方法声明中,以声明这是异步方法。 await 运算符告诉编译器异步等待结果完成。 控制被返回给调用方,该方法返回一个管理异步工作状态的结构。 结构通常是 System.Threading.Tasks.Task<TResult>,但可以是任何支持 awaiter 模式的类型。 这些功能使你能够编写这样的代码:以其同步对应项的形式读取,但以异步方式执行。 例如,以下代码会下载 Microsoft Docs 的主页:

public async Task<int> RetrieveDocsHomePage()
{
    var client = new HttpClient();
    byte[] content = await client.GetByteArrayAsync("https://docs.microsoft.com/");

    Console.WriteLine($"{nameof(RetrieveDocsHomePage)}: Finished downloading.");
    return content.Length;
}

这一小型示例显示了异步编程的主要功能:

  • 方法声明包含 async 修饰符。
  • 方法的主体 await GetByteArrayAsync 方法的返回。
  • return 语句中指定的类型与方法的 Task<T> 声明中的类型参数匹配。返回 Task 的方法将使用不带任何参数的 return 语句)。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/csharp/cshigh/8137.html

发表评论

登录后才能评论