-4

我有两个名为的字符串数组itemsitems1 items数组由 1296 个元素 items1组成,数组由 8 个元素组成,复制items1items. 我试过这样的东西,但它不起作用,让我们看看

 items1.CopyTo(items, items1.Length -1);
 Array.Copy(items1, items, items1.Length-1);
4

5 回答 5

1

使用 Linq 的 Concat 方法

items.Concat(items1)

这会将两个数组连接在一起并在 items 末尾添加 items1 ,我希望您只想要这样的 items 数组。

于 2013-10-03T07:15:55.187 回答
1

这应该工作

Array.Resize(ref items, items.Length + items1.Length);
Array.Copy(items1, 0, items, items.Length - items1.Length, items1.Length);

如果您希望添加元素而不是覆盖元素,请尝试以下操作

items = items.Concat(items1).ToArray();

顺便说一句,使用有意义的名称,items并且items1没有任何意义

于 2013-10-03T07:21:38.550 回答
0

它应该适合你:

var items = new string[]{"A"};
var items1 = new string[] { "B" };
var res = new List<string>();
res.AddRange(items);
res.AddRange(items1);
items = res.ToArray();

您的情况的主要问题是在运行时增加了 items 数组的长度。如果您在 items 数组中有足够的长度,那么您可以使用:

Array.Copy(items1, 0, items, items.Length, items1.Length);
于 2013-10-03T07:24:18.270 回答
0

这是一个简单的复制string Array.

     string[] SourceArray= { "A", "B", "C", "D", "E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S" };

        string[] DestArray= new string[8];
        Array.Copy(SourceArray, 11, DestArray, 0, 8);

SourceArray=输入数组

11=起始索引(副本应从源数组中开始的位置)

DestArray=是您的数组,其中的元素必须被复制

0=目标数组的起始索引

8=要复制到数组中的元素数

输出:

{L,M,N,O,P,Q,R,S}

于 2013-10-03T07:27:59.413 回答
0

这应该这样做:

Array.Resize(ref items, items.Length + items1.Length);
Array.Copy(items1, 0, items, items.Length-items1.Length, items1.Length);

它调整目标数组 , 的大小items,使其对两个数组都足够大。然后它将源数组 , 复制到items1目标数组末尾新添加的空间。

于 2013-10-03T07:29:22.547 回答