欢迎访问 生活随笔!

生活随笔

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

C#

c# async/await编程

发布时间:2024/2/28 C# 64 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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编程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。