C# 7.1 及以上的版本允许我们使用异步的Main方法。
我们直接将Main方法改为如下:
static async Task Main(string[] args)
可以看到报错了,提示我们是C# 7.1 的特性。我们有两种方法可以解决,其实最后都是殊途同归,只是操作不一样而已。
打开项目的csproj文件,添加如下代码:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<LangVersion>7.1</LangVersion>
</PropertyGroup>
例如:
在“解决方案管理器”界面中,选中项目,然后 右键->属性 -> Build
在弹出的界面中选中 C# 7.1
经过上面的更改以后,将不会报错了。
我们在Main方法中,加入如下代码,获取百度首页的html:
class Program
{
static async Task Main(string[] args)
{
var client = new HttpClient();
var result = await client.GetStringAsync("https://www.baidu.com/");
Console.WriteLine(result);
Console.ReadKey();
}
}
然后运行:
本文所用代码:https://github.com/stulzq/BlogDemos/tree/master/AsyncConsoleApp