gpt4 book ai didi

c# - Linq 的 GroupBy 方法如何延迟执行?

转载 作者:行者123 更新时间:2023-11-30 19:54:53 25 4
gpt4 key购买 nike

我找到了这个问题,但还没有答案... What algorithm does Linq GroupBy use?

由于您必须遍历整个源集合才能了解所有组,因此如何推迟执行?它会只迭代一次源集合吗?它是否使用缓冲区?

最佳答案

(我假设我们只是在谈论 LINQ to Objects。)

它仍然延迟,直到您开始询问结果,它根本不会读取源集合。但是,是的,一旦您请求第一个结果,它确实会读取整个 集合。它只读取一次源,并且只向每个元素询问一次其分组键。如您所料,所有结果都缓冲在内存中。

我的 Edulinq blog post on GroupBy (Edulinq 基本上是出于教育目的对 LINQ to Objects 的重新实现)显示了一个示例实现,尽管它是根据 ToLookup 进行的。

关于c# - Linq 的 GroupBy 方法如何延迟执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40426751/

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