日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

c# async/await编程

發布時間:2024/2/28 C# 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c# async/await编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天整理了一下c#異步編程的資料。

public partial class MainWindow : Window
? ? {
? ? ? ??
? ? ? ? private async void StartButton_Click(object sender, RoutedEventArgs e)
? ? ? ? {
? ? ? ? ? ? resultsTextBox.Text += "begin to invoke AccessTheWebAsync...\r\n";


? ? ? ? ? ? //方式1:調用和await分開
? ? ? ? ? ? Task<int> getLengthTask = AccessTheWebAsync();


? ? ? ? ? ? resultsTextBox.Text += "do other works ...\r\n";


? ? ? ? ? ? int contentLength = await getLengthTask;


? ? ? ? ? ? //方式2:調用和await不分開
? ? ? ? ? ? //int contentLength = await AccessTheWebAsync();


? ? ? ? ? ? resultsTextBox.Text += ?String.Format("Length of the downloaded string: {0}.\r\n", contentLength);
? ? ? ? }




? ? ? ? async Task<int> AccessTheWebAsync()
? ? ? ? {
? ? ? ? ? ? resultsTextBox.Text += "AccessTheWebAsync...\r\n";




? ? ? ? ? ? HttpClient client = new HttpClient();




? ? ? ? ? ? Task<string> getStringTask = client.GetStringAsync("https://www.baidu.com");




? ? ? ? ? ? DoIndependentWork();


? ? ? ? ? ? //等待返回, 向上層交還控制權
? ? ? ? ? ? string urlContents = await getStringTask;


? ? ? ? ? ? resultsTextBox.Text += "GetStringAsync return ...\r\n";


? ? ? ? ? ? //返回結果
? ? ? ? ? ? return urlContents.Length;
? ? ? ? }




? ? ? ? void DoIndependentWork()
? ? ? ? {
? ? ? ? ? ? resultsTextBox.Text += "Working . . . . . . .\r\n";
? ? ? ? }
? ? }


運行效果




總結

以上是生活随笔為你收集整理的c# async/await编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。