2010-10-27 84 views
4

如何从特定索引开始将值数组复制到目标数组而不循环?从特定索引复制数组

例如,如果我有一个具有2个值的数组,我必须将这两个元素复制到另一个从索引3开始的容量为5的数组?

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

复制的大卫偏航的......他来到第一,我必须把票投给他。 – 2010-10-27 18:47:36

+1

@Richard J. Ross III - 什么是“第一”与它有关?为最佳答案投票,而不是“第一次”。你确实知道你可以投票给你想要的答案,对吧? – Oded 2010-10-27 18:48:47

+0

&@Oded,当你第一次发布时,它只有'使用静态方法Array.Copy'。现在,它*优于@David Yaw的 – 2010-10-27 18:51:47

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

我不认为这是他寻找的答案,因为它不仅仅是从指定指数 – 2010-10-27 18:52:59