C# 异步方法定义: 使用 async 和 Task 关键字
在 C# 中,可以使用 `async` 和 `Task` 关键字来定义一个方法,使其返回一个 `Task` 对象。下面是一个示例:
public async Task<int> AddAsync(int a, int b)
{
await Task.Delay(1000); // 模拟一个耗时的操作
return a + b;
}
在上面的示例中,`AddAsync` 方法使用 `async` 关键字标记为异步方法,并且返回类型为 `Task
在方法体内部,使用 `await` 关键字来等待一个异步操作的完成。在示例中,使用 `Task.Delay` 方法来模拟一个耗时的操作,等待1秒钟。然后,返回计算结果 `a + b`。
可以在其他方法中调用这个异步方法,并使用 `await` 关键字来等待其完成:
public async void SomeMethod()
{
int result = await AddAsync(2, 3);
Console.WriteLine(result);
}
在上面的示例中,`SomeMethod` 方法也使用了 `async` 关键字,并且返回类型为 `void`,表示这是一个异步方法。在方法体内部,使用 `await` 关键字来等待 `AddAsync` 方法的完成,并将结果赋值给 `result` 变量。然后,将结果打印到控制台。
注意,使用 `async` 和 `await` 关键字的方法必须在其外部方法中使用 `await` 关键字来调用,或者使用 `Task.Wait` 或 `Task.Result` 等方法来等待其完成。
原文地址: http://www.cveoy.top/t/topic/pVVU 著作权归作者所有。请勿转载和采集!