C# 异步操作 async await

前端之家收集整理的这篇文章主要介绍了C# 异步操作 async await前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

文件,如果使用同步的方式进行下载,那么UI操作就会被卡住,这时最好能够使用异步的方式进行下载。在C#中,很早就开始支持异步的操作了,只不过早期的方法写起来有些麻烦。到了C# 5.0的时候,直接添加了两个关键字:async 和 await,这下对异步操作的支持可谓是达到了完美。下面我们就通用一个简单的 demo 看一下它们的基本用法

文件

文件:

btnOldDownload_Click((WebClient wc = wc.DownloadFile(,=

方法的过程中,UI线程被卡死,整个的下载过程中应用程序都处于没响应的状态。这当然是不能接受的,所以我们应该使用下面的异步方式进行文件的下载。

文件

代码去下载文件

OldAsyncDownload_Click( (WebClient wc = 通知。 wc.DownloadFileCompleted += Uri(), Wc_DownloadFileCompleted(=

方法中!在第一个方法中挂载 DownloadFileCompleted 事件,然后启动下载。下载完成后通过 DownloadFileCompleted 事件处理函数进行通知。如果您能够习惯于这样的写法,其实C# 早期提供的异步编程接口已经足够用了,因为这也正是异步操作真正的实现方式。

btnMyAsync_Click( (WebClient wc = Task task = wc.DownloadFileTaskAsync(,代码。 =

代码中 async 和 await 关键字的位置,这样代码就是以异步方式去执行下载逻辑,整个过程中UI 操作不会被阻塞掉。是不是很神奇呢?

代码最大的魔力在于它和同步下载文件代码几乎相同!每个 人都喜欢写顺序执行的代码,这样的代码逻辑也最清晰。async 和 await 的最大优势就是把人脑感觉简单的代码转换为真正的异步操作逻辑。

猜你在找的C#相关文章