首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对IOrderedEnumerable的LINQ优化

针对IOrderedEnumerable的LINQ优化
EN

Stack Overflow用户
提问于 2009-07-17 14:35:59
回答 1查看 1.3K关注 0票数 2

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

例如,在理论上,当Contains<T>()扩展应用于有限的IOrderedEnumerable<T>并且T为IComparable时,它可能会被优化为使用二进制搜索。

另一个示例是Distinct<T>()的优化版本,它将是延迟的和可流式的(因为在有序的、可比较的集合上,您总是可以使用跳过/匹配技术来生成不同的集合)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-17 14:39:29

这里有一些问题。

  • 二进制搜索不能在IOrderedEnumerable<T>上执行,因为它理想情况下需要对列表/数组进行索引器访问。因此,它将不得不调用类似于first
  • DistinctToList()/ToArray()之类的东西,但OrderBy在每个T的某些方面工作-它并不完全相同,除非您碰巧知道它是由item=>item订购的;这种情况很少发生(而且很难证明)。
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1143669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档