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

本文关键字:数组 字符串 另一个 复制 何使用 | 更新日期: 2023-09-27 18:33:37

我有两个字符串数组,分别命名为 itemsitems1 items数组由 1296 个元素组成 items1数组由 8 个元素组成将items1复制到items 中。我尝试了这样的东西,但它不起作用,让我们看看这个

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

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

这应该有效

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没有任何意义

使用 Linq 的 Concat 方法

items.Concat(items1)

这会将两个数组连接在一起并在项目末尾添加 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();

您的案例中的主要问题是在运行时增加项目数组长度。如果你在项目数组中有足够的长度,那么你可以使用:

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 复制到目标数组末尾新添加的空间。