не буду этого делать, как объясняет Джон Скит. Поскольку массив (как в вашем примере) не генерирует исключения во время итерации, нет причин, которые нельзя оптимизировать.

var res = new int[1000000].Skip(999999).First();

бы здорово, если бы этот запрос просто использовал индексатор, а не проходил 999999 записей.

Я заглянул в System.Core.dll и заметил, что в отличие отSkip(),Count() метод расширения оптимизирован. ЕслиIEnumerable инвентарьICollection тогда он просто вызываетCount свойство.

Ответы на вопрос(2)

Ваш ответ на вопрос