Вы можете использовать Array.Copy(...) для копирования в новый массив после его создания, но я не думаю, что существует метод, который создает новый массив и копирует диапазон элементов.
Если вы используете .NET 3.5, вы сможете используйте LINQ:
Код: Выделить всё
var newArray = array.Skip(3).Take(5).ToArray();
[...]
Меня интересует, почему .Skip() и .Take() не являются операциями с постоянным временем для массивов?
В свою очередь, если бы это были операции с постоянным временем, не будут ли методы Skip() и .Take() (без вызова .ToArray() в конце) имеют такое же время работы без накладных расходов, связанных с выполнением Array.Copy, но также более эффективно используют пространство?
Подробнее здесь: https://stackoverflow.com/questions/735 ... in-c-sharp
Мобильная версия