C# async/await 异步编程
Task + await 非阻塞异步操作 · 难度:高级 · +20XP
C# async/await
C# 的 async/await 是最优雅的异步方案。Task 代表一个异步操作。用 await 等待结果而不阻塞线程。
基本模式
async Task FetchAsync(int id){
await Task.Delay(1000); // 模拟 IO
return $"Result:{id}";
}
var result=await FetchAsync(42); 并行执行
var t1=FetchAsync(1);var t2=FetchAsync(2);
var results=await Task.WhenAll(t1,t2); // 同时等待注意事项
- async void 只用于事件处理,否则用 async Task
- ConfigureAwait(false) 在库代码中避免死锁
- 不要用 .Result 或 .Wait() 同步等待
学习与实践建议
- 先理解本节的核心概念和语法规则
- 在右边编辑器中修改示例代码,观察运行结果变化
- 尝试用学到的知识完成一个小练习——比如自己写一个工具函数或小程序
- 遇到问题时,查阅官方文档是最快的学习途径
编程是门实践技能,动手写代码比看教程重要得多。坚持每天练习,你会很快看到进步!