gpt4 book ai didi

c# - 将 linq 类型方法与 IAsyncEnumerable 结合使用的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-02 18:30:17 28 4
gpt4 key购买 nike

似乎没有对与 .NET Core 一起打包的 IAsyncEnumerable 提供任何 linq 支持。能够执行 ToList 和 Count 等简单操作的正确方法是什么?

最佳答案

这是一个很好的问题,因为 IAsyncEnumerable<T> 上的 IntelliSense 中几乎没有有用的项目。开箱即用,具有默认 .NET Core 应用程序所拥有的隐式框架引用。

预计您会添加 System.Linq.Async (称为 Ix Async, see here )像这样的包:

<PackageReference Include="System.Linq.Async" Version="4.0.0" />

然后你可以使用CountAsync ,或ToListAsync :

async IAsyncEnumerable<int> Numbers()
{
yield return 1;
await Task.Delay(100);
yield return 2;
}

var count = await Numbers().CountAsync();
var myList = await Numbers().ToListAsync();

正如评论中所指出的,这些方法本身并没有多大用处,应该在使用更强大的功能同时将数据保持为异步流(例如SelectAwait)之后使用它们。和WhereAwait等等...

关于c# - 将 linq 类型方法与 IAsyncEnumerable 结合使用的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59060653/

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