async/await

Enables writing asynchronous, non-blocking code in a sequential, readable style. async marks a method; await pauses until a Task completes.

Syntax

csharp
async Task<T> MethodName() {
  var result = await asyncOperation();
}

Example

csharp
public async Task<string> FetchDataAsync(string url) {
  using var client = new HttpClient();
  var response = await client.GetStringAsync(url);
  return response;
}

var data = await FetchDataAsync("https://api.example.com/data");