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

时间:2022-02-13 14:50:50

前言

C# 7.1 及以上的版本允许我们使用异步的Main方法。下面话不多说了,来随着小编一起看看详细的介绍吧。

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

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

二.异步Main方法

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

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

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

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

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

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

?
1
2
3
<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:

?
1
2
3
4
5
6
7
8
9
10
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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://www.cnblogs.com/stulzq/p/9219085.html