var res = new int[1000000].Skip(999999).First();
Sería genial si esta consulta solo utilizara el indexador en lugar de recorrer 999999 entradas.¿Por qué no se optimiza Skip() en LINQ a los objetos?
He echado un vistazo a System.Core.dll y he notado que, a diferencia de Skip()
, el método de extensión Count()
está optimizado. Si el IEnumerable
implementa ICollection
, simplemente llama a la propiedad Count
.
También pensé sobre el uso indebido de MoveNext() del iterador de listas, pero parece más como un truco. Una gran idea de todos modos. – codymanix