gpt4 book ai didi

c# - 方法返回任务和异步任务之间的区别

转载 作者:行者123 更新时间:2023-11-30 17:42:59 24 4
gpt4 key购买 nike

<分区>

下面我写了两种方法

    private Task<string> GetStringTask(string url)
{
var client = new WebClient();
var task = client.DownloadDataTaskAsync(new Uri(url));

var task2 = task.ContinueWith<string>(task1 =>
{
var str = Encoding.Default.GetString(task1.Result);
Thread.Sleep(5000);
return str;
});

return task2;
}

private async Task<string> GetStringAsyc(string url)
{
var client = new WebClient();
var htmlByte = await client.DownloadDataTaskAsync(new Uri(url));
var task2 = await Task.Factory.StartNew(() =>
{
var str = Encoding.Default.GetString(htmlByte);
Thread.Sleep(2000);
return str;
});

return task2;
}

我可以像下面一样调用另一个异步方法中的两个方法

var mystring = await GetStringTask("http://www.microsoft.com");

var mystring1 = await GetStringAsync("http://www.microsoft.com");

两种方法返回相同的结果。任何人都可以向我解释这两种方法之间的区别。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com