如何使用C#将字符串数组复制到另一个字符串数组?

时间:2013-10-03 07:08:53

标签: c# copy arrays

我有两个名为itemsitems1的字符串数组 items数组由1296个元素组成 items1数组由8个元素组成 将items1复制到items。我试过这样的东西,但它不起作用,让我们检查一下

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

5 个答案:

答案 0 :(得分:1)

使用Linq的Concat方法

items.Concat(items1)

这会将两个数组连接在一起并在项目末尾添加items1,我希望你只想要那些数组。

答案 1 :(得分: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();

顺便说一下使用有意义的名字,itemsitems1没有任何意义

答案 2 :(得分: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数组中有足够的长度,那么你可以使用:

Array.Copy(items1, 0, items, items.Length, items1.Length);

答案 3 :(得分: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}

答案 4 :(得分:0)

这应该这样做:

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

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