Как я могу скопировать часть массива в другой массив?
Считай, что у меня
int[] a = {1,2,3,4,5};
Теперь, если я дам начальный и конечный индексы массива, a
он должен быть скопирован в другой массив.
Например, если я задаю начальный индекс как 1 и конечный индекс как 3, элементы 2, 3, 4 должны быть скопированы в новый массив.
Смотрите этот вопрос . LINQ Take () и Skip () являются наиболее популярными ответами, а также Array.CopyTo ().
Якобы более быстрый метод расширения описан здесь .
источник
Где Array - это класс, имеющий метод Copy, который копирует элемент массива в массив b.
При копировании из одного массива в другой массив вы должны указать тот же тип данных для другого массива, который вы копируете.
источник
Примечание: я нашел этот вопрос, ища один из шагов в ответе о том, как изменить размер существующего массива.
Поэтому я подумал, что добавлю эту информацию сюда, на случай, если кто-то еще будет искать способ сделать копию в дальнем углу в качестве частичного ответа на вопрос об изменении размера массива.
Для любого, кто найдет этот вопрос и ищет то же, что и я, это очень просто:
где T - это тип, т.е. где объявлено arrayVariable:
Этот метод обрабатывает нулевые проверки, а также newSize == oldSize без эффекта и, конечно же, молча обрабатывает случай, когда один из массивов длиннее другого.
Смотрите статью MSDN для получения дополнительной информации.
источник
В случае, если вы хотите реализовать свой собственный метод Array.Copy .
Статический метод универсального типа.
Граничный метод реализации.
источник