📜  C#7.1 在main方法用async方式

📅  最后修改于: 2020-11-01 03:13:16             🧑  作者: Mango

C#在main方法用async方式

从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);

C#Async main示例

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方法调用另一个异步方法。

C#Async 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