Async/Await
c#中的TAP提供了一套较高级的异步编程,将异步代码可以编写的向同步代码一样优美。其中主要用到了async和await,下面是一段简单的示例代码
public async Task Launch()
{
var network = await Network.Connect();
if(!network.IsSucceed)
{
ShowAlert();
return;
}
var user = await Network.Login();
if(user.IsSucceed)
{
//do something.
}
}
Async
async是c#中的一个关键字,用于修饰函数、lambda表达式或者匿名函数,使其变成异步方法。当async修改的方法执行过程大致如下:

本文深入探讨了C#中async和await的关键特性,它们如何简化异步编程,以及异步方法的执行流程。通过示例代码分析了async方法的IL编译结果,揭示了编译器在幕后如何处理await表达式。此外,文章还介绍了如何自定义awaitable方法,要求包括无参的GetAwaiter方法,返回类型实现INotifyCompletion接口,并具备IsCompleted属性和GetResult方法。
最低0.47元/天 解锁文章
131

被折叠的 条评论
为什么被折叠?



