我有两个名为的字符串数组items
,items1
items
数组由 1296 个元素
items1
组成,数组由 8 个元素组成,复制items1
到items
. 我试过这样的东西,但它不起作用,让我们看看
items1.CopyTo(items, items1.Length -1);
Array.Copy(items1, items, items1.Length-1);
使用 Linq 的 Concat 方法
items.Concat(items1)
这会将两个数组连接在一起并在 items 末尾添加 items1 ,我希望您只想要这样的 items 数组。
这应该工作
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
没有任何意义
它应该适合你:
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);
这是一个简单的复制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}
这应该这样做:
Array.Resize(ref items, items.Length + items1.Length);
Array.Copy(items1, 0, items, items.Length-items1.Length, items1.Length);
它调整目标数组 , 的大小items
,使其对两个数组都足够大。然后它将源数组 , 复制到items1
目标数组末尾新添加的空间。