c#中async和await 用法
时间: 2024-03-28 08:35:21 浏览: 75
详解C#中的Async和Await用法
在C#中,async和await是用于处理异步操作的关键字。它们可以帮助我们编写更加简洁和可读性强的异步代码。
首先,async关键字用于修饰一个方法,表示该方法是一个异步方法。异步方法可以在执行过程中暂停并等待其他操作完成,而不会阻塞主线程。
接着,await关键字用于等待一个异步操作完成。它通常用于异步方法内部,用于等待一个返回Task或Task<T>类型的操作完成。在等待期间,控制权会返回给调用者,这样可以让主线程继续执行其他任务。
下面是async和await的用法示例:
```csharp
public async Task<string> GetDataAsync()
{
// 异步操作,例如从数据库或网络获取数据
await Task.Delay(1000); // 模拟延迟1秒
return "Data";
}
public async void DoSomethingAsync()
{
Console.WriteLine("开始执行异步操作");
string data = await GetDataAsync(); // 等待GetDataAsync方法完成
Console.WriteLine("异步操作完成,获取到的数据为:" + data);
}
```
在上面的示例中,GetDataAsync方法是一个异步方法,它使用await关键字等待一个延迟1秒的异步操作。DoSomethingAsync方法也是一个异步方法,它调用了GetDataAsync方法并使用await关键字等待其完成。
当调用DoSomethingAsync方法时,它会立即返回并继续执行其他任务。当GetDataAsync方法完成后,控制权会返回到DoSomethingAsync方法,并打印出获取到的数据。
阅读全文