IAsyncEnumerable是C# 8.0引入的异步流类型,适用于按需异步生成多个数据项的场景,支持await foreach消费、内存友好、可取消且响应及时。

IAsyncEnumerableawait foreach 消费,每个元素可独立 await,内存友好且响应及时。
什么时候该用 IAsyncEnumerable?
当你需要以下任意一种能力时,IAsyncEnumerable 是比 List
- 数据源本身是异步的(如数据库分页查询、HTTP 流式响应、文件分块读取)
- 不想阻塞线程,也不愿把全部结果缓存在内存里(尤其数据量大或生成耗时)
- 消费者希望边接收边处理,而不是等所有数据就绪才开始(降低端到端延迟)
- 需要在迭代中途取消(配合 CancellationToken)
如何定义和返回 IAsyncEnumerable?
最常用方式是使用 async yield return 语法(需方法返回 IAsyncEnumerable
示例:模拟异步分页获取用户
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~