gpt4 book ai didi

c# - IAsyncEnumerable 与 IEnumerable> 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 18:01:02 25 4
gpt4 key购买 nike

新的 C# 8.0 和 dotnet core 3 具有 AsyncStreams ( IAsyncEnumerable<T> ) 的这一新功能。我的理解是它提供了一种异步处理流中项目的方法。但是我不能用 IEnumerable<Task<T>> 做到这一点吗?

这两种方法有什么区别?

最佳答案

Task<IEnumerable<T>>IAsyncEnumerable 都用于枚举数据或遍历数据列表。然而还是有很大的不同。
一旦集合中的数据准备好发送给调用者,Task<IEnumerable<T>> 就会提供记录。
IAsyncEnumerable 会在记录准备好时提供记录,这意味着它会将记录作为可用记录发送给您,而不是等待整个集合被填满。它使您可以使用 yield 关键字异步迭代集合,这在 C# 8.0 之前是不可能的。
在使用异步枚举时,了解哪些线程是安全的,哪些是不安全的,这一点很重要。

关于c# - IAsyncEnumerable<T> 与 IEnumerable<Task<T>> 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57126271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com