2010-10-27 111 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