SuperAPI AI 工具集

csharp-async-patterns

通用与其它

查看项目

更新于 10-16 05:56

技能介绍

用途:该技能用于在编写 C# 异步代码时提供现代异步模式参考,覆盖 C# 8-12 的 async/await、Task、ValueTask、异步流(IAsyncEnumerable)与取消(CancellationToken)等主题,目标是构建响应式、易扩展的应用。

主要能力:讲解 async/await 基础与签名规则(返回 Task、Task<T>,async void 仅限事件处理器);Task 与 Task<T> 的创建(Task.Run、Task.FromResult、Task.CompletedTask)与组合(顺序执行、Task.WhenAll 并行);ValueTask 的适用场景与最佳实践(只 await 一次、不存储、不重复 await);async void 与 async Task 的差异及唯一合法用法;ConfigureAwait(false) 在库代码与 UI 代码中的取舍;CancellationToken 基础与高级模式(超时、链接令牌);异步流 IAsyncEnumerable 的读取、消费、过滤、缓冲;并行异步操作(Task.WhenAll、Task.WhenAny、超时、竞速、SemaphoreSlim 限流);异步异常处理与 AggregateException;死锁预防(避免 .Result/.Wait(),坚持 async all the way)。

使用方式:资料以代码示例形式给出各模式写法,例如 public async Task<string> FetchDataAsync(string url) 中使用 await client.GetStringAsync(url);库代码中 await 后接 .ConfigureAwait(false);取消时使用 CancellationTokenSource 与 ThrowIfCancellationRequested;异步流使用 await foreach 消费。

适用场景:编写异步 C# 代码、库方法、UI 事件处理器、后台处理循环、数据流处理与并行任务编排时参考。

限制:资料未提供安装命令、平台要求、收费或价格信息,暂未提供。