2 回答
TA贡献1853条经验 获得超9个赞
Async
方法可以具有以下返回类型:
Task<TResult>
, 用于返回值的异步方法。Task
, 用于执行操作但不返回任何值的异步方法。void
, 对于事件处理程序
在您的情况下,Task<string>
用于返回字符串而不是 void 的任务
private async Task<string> starthttp()
{
string strona = "";
//your code stuff
return strona;
}
TA贡献1824条经验 获得超5个赞
草率的做法是声明全局变量并在您的方法中为其赋值,所以:
string stronaValue = "";
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("< ", "<");
stronaValue = strona;
}
但是,我建议将上述方法与 Task 一起使用。
- 2 回答
- 0 关注
- 152 浏览
添加回答
举报