Я просматривал этот вопрос и некоторые подобные:
Получение подмассива из существующего массива
Во многих местах я читал такие ответы:
Получение подмассива из существующего массив
Мне интересно, почему Skip и Take не являются операциями с постоянным временем для массивов?
В свою очередь, если бы они были операциями с постоянным временем, не будет ли метод Skip и Take (без вызова ToArray() в конце) иметь такое же время выполнения без накладных расходов, связанных с выполнением Array.Copy, но при этом более эффективное использование пространства?
Buffer.BlockCopy
(DMA) действительно быстрее по сравнению сArray.Copy
(O(n)) — хотя он работает только для примитивов (int, float и т. д.) . - person Jonathan Dickinson   schedule 09.09.2011