我正在尝试使用新的async和await关键字。我编写了以下异步函数:
private async static Task<string> GetStringAsync(string pageAddress)
{
HttpClient client = new HttpClient();
return client.GetStringAsync(pageAddress);
}
我知道我正在返回一个 Task<String>
,可以从另一个方法中等待结果。 这个方法很好用。 我的问题是,当我将上面的函数的第二行替换为以下内容时会发生什么(请注意引入了 await 关键字):
return await client.GetStringAsync(pageAddress);
这个函数的行为完全相同!请记住,该函数返回的是Task<string>
而不是string
。这里的await
关键字是否退化了?编译器是否会从我的代码中删除它?