C# 7.1 及以上的版本允許我們使用異步的Main方法。
一.新建一個控制台應用程序
二.異步Main方法
我們直接將Main方法改為如下:
static async Task Main(string[] args)
可以看到報錯了,提示我們是C# 7.1 的特性。我們有兩種方法可以解決,其實最后都是殊途同歸,只是操作不一樣而已。
1.第一種方法-修改csproj文件
打開項目的csproj文件,添加如下代碼:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<LangVersion>7.1</LangVersion>
</PropertyGroup>
例如:
2.第二種方法-通過vs更改項目屬性
在“解決方案管理器”界面中,選中項目,然后 右鍵->屬性 -> 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