我查看了.NET Core源代码,以便了解在收集实现IList
时,对IEnumerable.Last()
(LINQ)的调用是否得到优化,在我进行了一些快速基准测试之后,我怀疑是这种情况。然而,在此之前,检查输入是否实现了IPartition
。 IPartition
is defined here,但我完全不明白它应该做什么。IP核在.NET核心中做什么?
什么是IPartition
的目的,以及它如何能比的IList
平时固定时间的索引更快(或者如果不是,为什么是输入IPartition
检查早于IList
)?
它似乎被像'Take'这样的方法用来创建数据的一个子集。请记住,在使用'IQueryable'等完全加载数据之前,可以调用许多linq方法。检查'IPartition'可能会允许一些鬼鬼祟祟的优化。 –