📅  最后修改于: 2020-11-01 03:13:16             🧑  作者: Mango
从C#7.1开始,C#编译器允许我们创建异步Main方法。
它有助于我们在应用程序的入门级执行异步任务。 Main方法可能包含一个等待表达式,以执行异步任务。
使用System.Threading.Tasks;名称空间用于访问任务类型。
C#提供了以下有效的异步重载Main方法。
public async static Task Main();
public async static Task Main();
public async static Task Main(string[] args);
public async static Task Main(string[] args);
using System;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
// Async Main method
public async static Task Main(string[] args)
{
Console.WriteLine("This is async Main method");
}
}
}
输出:
This is async Main method
在此示例中,异步Main方法调用另一个异步方法。
using System;
using System.Threading.Tasks;
using System.Net.Http;
namespace CSharpFeatures
{
class AsynchronousMethod
{
// Asynchronous Main method
async static Task Main(string[] args)
{
Task result = show();
Console.WriteLine("length: {0}", result.Result);
}
// Asynchronous method
async static Task show()
{
Task TaskUrl = new HttpClient().GetStringAsync("http://www.javatpoint.com");
string result = await TaskUrl; // Using await to suspand task
return result.Length;
}
}
}
输出:
length: 36006