async/await 是 C# 5.0 + 的异步编程语法糖,简化异步操作(如网络请求、文件读写),避免回调地狱。
案例:异步下载文件
using System.Net.Http; public class AsyncDemo { // 异步方法(返回Task) public static async Task DownloadFileAsync(string url, string savePath) { using (HttpClient client = new HttpClient()) { try { Console.WriteLine($"开始下载:{url}"); // 异步下载(await 等待操作完成,不阻塞主线程) byte[] data = await client.GetByteArrayAsync(url); // 异步写入文件 await File.WriteAllBytesAsync(savePath, data); Console.WriteLine($"下载完成!文件保存到:{savePath}"); } catch (Exception ex) { Console.WriteLine($"下载失败:{ex.Message}"); } } } // 主方法支持async(C# 7.1+) public static async Task Main(string[] args) { string url = "https://example.com"; // 测试链接 string savePath = @"C:\Temp\example.html"; // 调用异步方法(await 等待完成) await DownloadFileAsync(url, savePath); Console.WriteLine("主线程继续执行其他操作..."); } } 关键:async 方法返回 Task(无返回值)或 Task<T>(有返回值),await 只能在 async 方法中使用,用于等待异步操作。