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

时间:2010-08-23 06:33:45

标签: linq arrays optimization

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

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

1 个答案:

答案 0 :(得分:5)

不是谓词时,

Last()会被优化...即使存在谓词,也可以进行优化(通过从结束),但事实并非如此。

认为 Skip已经过优化 - 尽管如此,它可能是。

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