C# 7.1 及以上的版本允许我们使用异步的Main方法。

1529762562337

我们直接将Main方法改为如下:

  1. static async Task Main(string[] args)

1529762747510

可以看到报错了,提示我们是C# 7.1 的特性。我们有两种方法可以解决,其实最后都是殊途同归,只是操作不一样而已。

打开项目的csproj文件,添加如下代码:

  1. <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
  2. <LangVersion>7.1</LangVersion>
  3. </PropertyGroup>

例如:

1529762909659

在“解决方案管理器”界面中,选中项目,然后 右键->属性 -> Build

1529763028967

在弹出的界面中选中 C# 7.1

1529763064679

经过上面的更改以后,将不会报错了。

我们在Main方法中,加入如下代码,获取百度首页的html:

  1. class Program
  2. {
  3. static async Task Main(string[] args)
  4. {
  5. var client = new HttpClient();
  6. var result = await client.GetStringAsync("https://www.baidu.com/");
  7. Console.WriteLine(result);
  8. Console.ReadKey();
  9. }
  10. }

然后运行:

1529763181795

本文所用代码:https://github.com/stulzq/BlogDemos/tree/master/AsyncConsoleApp

版权声明:本文为stulzq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/stulzq/p/9219085.html