📜  C#5.0 异步方法

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

C#异步方法

C#异步方法是一种异步执行的特殊方法。 C#提供了一个异步修饰符以使方法异步。它用于执行异步任务。

C#等待表达式用于挂起方法的执行。

如果使用async修饰符的方法不包含await表达式,则将同步执行。

注意:异步方法不能使用ref或out参数。

C#异步方法返回类型

异步方法可以使用以下任何一种返回类型。

  • 任务
  • 任务
  • 无效(用于事件处理程序)
  • System.Threading.Tasks.ValueTask

由于命名约定,我们应该在方法名称后添加asyncsuffix。以下是定义异步方法的典型语法。

句法

public async Task ExampleMethodAsync()  
{  
    // statements  
}

我们可以使用包含异步操作的System.Net.HttpClient,Microsoft.Azure.EventHub.Core库。

在下面的示例中,我们使用System.Net.Http;。执行异步任务的名称空间。

该名称空间默认情况下不可用,因此我们需要使用程序包管理器控制台进行安装。

要打开控制台,请按照以下屏幕快照中的说明进行操作。

这将打开一个控制台窗口,我们可以在其中传递名称空间名称以将其安装到我们的项目中。像在下面的屏幕截图中一样,编写以下命令。

PM> Install-Package System.Net.Http

安装之后,现在我们可以执行该应用程序了。

C#异步方法示例

using System;
using System.Threading.Tasks;
using System.Net.Http;
namespace CSharpFeatures
{
    class AsynchronousMethod
    {
        static void Main(string[] args)
        {
           Task result = add();
           Console.WriteLine("length: {0}", result.Result);
        }
// Asynchronous method
        async static Task add()
        {
            Task TaskUrl = new HttpClient().GetStringAsync("http://www.javatpoint.com");
            string result = await TaskUrl;
            return result.Length;
        }
    }
}

输出量

length: 36006