gpt4 book ai didi

c# - IOrderedEnumerable 的 LINQ 优化

转载 作者:行者123 更新时间:2023-12-02 04:20:36 24 4
gpt4 key购买 nike

有谁知道 LINQ 库(或公开可用的实用程序库)中是否有任何内置功能可用于 IOrderedEnumerable<T> 上的优化操作,而不是 IEnumerable<T>

例如,理论上,Contains<T>()当扩展应用于有限 IOrderedEnumerable<T> 时,可以优化为使用二分搜索。 T 是 IComparable。

另一个例子是 Distinct<T>() 的优化版本这将被推迟并可流式传输(因为在有序的、可比较的集合中,您始终可以使用跳过/匹配技术来生成不同的集合)。

最佳答案

那里有问题...

  • 无法在 IOrderedEnumerable<T> 上执行二分查找,因为理想情况下它需要索引器访问列表/数组。所以它必须调用类似ToList()的东西/ToArray()首先
  • Distinct适用于T项目,但是 OrderBy适用于每个 T 的某些方面 - 它并不完全相同,除非您碰巧知道它是按 item=>item 订购的;这种情况很少发生(并且很难证明)。

关于c# - IOrderedEnumerable 的 LINQ 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1143669/

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