2010-10-27 5 views
4

Как скопировать массив значений в массив назначения, начиная с определенного индекса без цикла?Копирование массивов по определенным индексам

Например, если у меня есть массив с 2 значениями, мне нужно скопировать эти два элемента в другой массив, который имеет емкость 5, начиная с индекса 3?

double[] source = new double[] {1, 2}; 
double[] destination = new double[5]{0,0,0,0,0}; 
//How to perform this copy? 
double[] result = new double[5] {0, 0, 0, 1, 2}; 

ответ

7

Использование Array.CopyTo или статический метод Array.Copy.

source.CopyTo(destination, 3); 
+0

Копия Давида рыскания в ... его пришел первым, я должен голосовать за его. –

+1

@ Рихард Дж. Росс III - Что «первым» связано с этим? Голосуйте за лучший ответ, а не за «первый». Вы знаете, что можете голосовать за столько ответов, сколько хотите, не так ли? – Oded

+0

& @Oded, когда вы впервые разместили его, он использовал «Использовать статический метод Array.Copy». Теперь он * лучше, чем @David Yaw's –

8

Это вы что искали?

Array.Copy(source, 0 /*start loc*/, destination, 3 /*start loc*/, 2 /*count*/); 
0
double[] source = new double[] {1, 2}; 
double[] destination = new double[5]{0,0,0,0,0}; 
//How to perform this copy? 
ArrayList result = new ArrayList(); 
result.AddRange(source); 
result.AddRange(destination); 
destination = result.ToArray(); 
+0

Я не думаю, что это тот ответ, который он искал, поскольку это не совсем так, как из указанные индексы –

Смежные вопросы