C# 中的 async 和 await 关键字是用来简化异步编程的语法。它们允许您编写异步代码,而不必编写复杂的回调函数。

使用 async 和 await 的基本语法如下:

public async Task MyMethodAsync()
{
    // 异步操作
    await SomeAsyncOperationAsync();
}

在上面的代码中,async 关键字表示 MyMethodAsync() 是一个异步方法。await 关键字表示异步操作 SomeAsyncOperationAsync() 要等待完成,然后再继续执行后面的代码。

下面是 async 和 await 的一些用法:

  1. 在异步方法中调用另一个异步方法:
public async Task MyMethodAsync()
{
    // 异步操作1
    await SomeAsyncOperationAsync();

    // 异步操作2
    await AnotherAsyncOperationAsync();
}
  1. 在异步方法中使用 Task.Run() 方法运行一个同步方法:
public async Task MyMethodAsync()
{
    // 异步操作
    await Task.Run(() => SomeSyncOperation());
}
  1. 在异步方法中使用 Task.WhenAll() 方法等待多个异步操作完成:
public async Task MyMethodAsync()
{
    // 异步操作1
    var task1 = SomeAsyncOperationAsync();

    // 异步操作2
    var task2 = AnotherAsyncOperationAsync();

    // 等待两个操作完成
    await Task.WhenAll(task1, task2);
}
  1. 在异步方法中使用 Task.WhenAny() 方法等待任何一个异步操作完成:
public async Task<MyResult> MyMethodAsync()
{
    // 异步操作1
    var task1 = SomeAsyncOperationAsync();

    // 异步操作2
    var task2 = AnotherAsyncOperationAsync();

    // 等待任何一个操作完成
    var completedTask = await Task.WhenAny(task1, task2);

    // 返回结果
    return await completedTask;
}
  1. 在异步方法中使用 CancellationToken 取消异步操作:
public async Task MyMethodAsync(CancellationToken cancellationToken)
{
    // 异步操作
    await SomeAsyncOperationAsync(cancellationToken);
}
C# 异步编程:async 和 await 关键字详解

原文地址: https://www.cveoy.top/t/topic/mpE5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录