从特定索引复制数组

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};
3个回答

8
这是你正在寻找的吗?
Array.Copy(source, 0 /*start loc*/, destination, 3 /*start loc*/, 2 /*count*/);

7

大卫·约的副本...他的先到,我必须投票给他。 - Richard J. Ross III
1
@Richard J. Ross III - “第一”跟这有什么关系?请投票选出最佳答案,而非“第一”。您知道您可以为任意多个答案投票吗? - Oded
@Oded,当您第一次发布时,它只有“使用静态方法Array.Copy”。现在,它比@David Yaw的更好。 - Richard J. Ross III
@Richard J. Ross III - SO允许您编辑答案(和问题)以使它们更好。许多人发布初始答案,然后改进它们 - 这就是为什么在投票之前应该让灰尘落定的原因... - Oded

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();

我认为这不是他想要的答案,因为它并没有完全按照指定的索引执行。 - Richard J. Ross III

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接