Примечание: я нашел этот вопрос, ища один из шагов в ответе о том, как изменить размер существующего массива.
Поэтому я подумал, что добавлю эту информацию сюда, на случай, если кто-то еще будет искать способ сделать копию в дальнем углу в качестве частичного ответа на вопрос об изменении размера массива.
Для любого, кто найдет этот вопрос и ищет то же, что и я, это очень просто:
Array.Resize<T>(ref arrayVariable, newSize);
где T - это тип, т.е. где объявлено arrayVariable:
T[] arrayVariable;
Этот метод обрабатывает нулевые проверки, а также newSize == oldSize без эффекта и, конечно же, молча обрабатывает случай, когда один из массивов длиннее другого.
Смотрите статью MSDN для получения дополнительной информации.