gpt4 book ai didi

c# - 为什么我收到错误 Cannot await 'void' ?

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:51 25 4
gpt4 key购买 nike

private Queue<string> _downloadUrls = new Queue<string>();

private void downloadFile(IEnumerable<string> urls)
{
foreach (var url in urls)
{
_downloadUrls.Enqueue(url);
}

DownloadFile();
}

private async Task DownloadFile()
{
if (_downloadUrls.Any())
{
WebClient client = new WebClient();
client.DownloadProgressChanged += ProgressChanged;
client.DownloadFileCompleted += Completed;

var url = _downloadUrls.Dequeue();
string FileName = url.Substring(url.LastIndexOf("/") + 1,
(url.Length - url.LastIndexOf("/") - 1));

await client.DownloadFileAsync(new Uri(url), "C:\\Test4\\" + FileName);
return;
}
}

错误在线:

await client.DownloadFileAsync(new Uri(url), "C:\\Test4\\" + FileName);

我该如何解决这个错误?为什么会发生?我给出了我认为的所有细节。

我添加了可能需要的其余代码。

最佳答案

WebClient.DownloadFileAsync 是一种基于事件的 API,早于任务和异步/等待。您需要等待 WebClient.DownloadFileTaskAsync

关于c# - 为什么我收到错误 Cannot await 'void' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41408673/

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