天天看点

.NET Core 控制台应用程序使用异步(Async)Main方法

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

一.新建一个控制台应用程序

.NET Core 控制台应用程序使用异步(Async)Main方法

二.异步Main方法

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

static async Task Main(string[] args)
           
.NET Core 控制台应用程序使用异步(Async)Main方法

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

1.第一种方法-修改csproj文件

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

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

例如:

.NET Core 控制台应用程序使用异步(Async)Main方法

2.第二种方法-通过vs更改项目属性

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

.NET Core 控制台应用程序使用异步(Async)Main方法

在弹出的界面中选中

C# 7.1

.NET Core 控制台应用程序使用异步(Async)Main方法

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

三.验证

我们在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();
    }
}
           

然后运行:

.NET Core 控制台应用程序使用异步(Async)Main方法

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

目前学习.NET Core 最好的教程 .NET Core 官方教程 ASP.NET Core 官方教程

.NET Core 交流群:923036995  欢迎加群交流

如果您认为这篇文章还不错或者有所收获,您可以点击右下角的【推荐】支持,或请我喝杯咖啡【赞赏】,这将是我继续写作,分享的最大动力!

作者:晓晨Master(李志强)

声明:原创博客请在转载时保留原文链接或者在文章开头加上本人博客地址,如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!