是否针对数组或List <T>优化了LINQ .Last,.Skip等方法?

Fun*_*ung 4 linq arrays optimization

我想知道LINQ方法是否喜欢.Last.Skip针对数组进行优化List<T>等等.例如,对于一个数组,我可以做到_array[_array.Length - 1]最后一个元素.是否_array.Last()实际上是通过所有的元素一一列举,然后返回最后还是有其实内置了一些优化?

如果没有,可能不得不放弃表现.

Jon*_*eet 5

Last()没有谓词的情况进行优化...即使存在谓词(通过从末尾开始工作)可以优化它,但事实并非如此.

我不认为 Skip是优化的 - 尽管如此,它可能是.

基本上大多数 LINQ to Objects都经过了优化(for ICollection<T>,for ICollectionIList<T>),但仍有更多空间可供使用.

  • 谢谢。您是否有机会获得说明优化的文档的链接?我正在寻找但找不到。 (2认同)