gpt4 book ai didi

c# - 如何访问放置在 void 之外的 async void 中的字符串的值

转载 作者:行者123 更新时间:2023-11-30 21:33:17 27 4
gpt4 key购买 nike

这是我的代码。我使用 async void 从 Internet 下载一些数据。我将此数据存储在名为“Strona”的字符串变量中。我想在 async void 之外使用“Strona”的值。有没有可能以任何方式归还它或获得它的访问权?

private async void starthttp()
{
string strona = "";

response = await Task.Factory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null);

var html = new HtmlDocument();
html.Load(response.GetResponseStream());
var nodes = html.DocumentNode.Descendants("img")
.Where(node => node.GetAttributeValue("alt", "")
.Equals("Celny")).ToList();


foreach (var node in nodes)
{
strona = strona + node.OuterHtml;
}

strona = strona.Replace('"', '\u0027');
strona = strona.Replace("< ", "<");
}

最佳答案

Async方法可以有以下返回类型:

  • Task<TResult> ,用于返回值的异步方法。

  • Task ,对于执行操作但不返回的异步方法值(value)。

  • void , 对于事件处理程序

在您的情况下,使用 Task<string>对于返回字符串而不是 void 的任务

private async Task<string> starthttp()
{
string strona = "";
//your code stuff
return strona;
}

关于c# - 如何访问放置在 void 之外的 async void 中的字符串的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51535914/

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