2

可能重复:
在 .NET 中合并两个数组
如何在 C# 中连接两个数组?

如何合并两个string[]变量?

例子:

string[] x = new string[] { "apple", "soup", "wizard" };
string[] y = new string[] { Q.displayName, Q.ID.toString(), "no more cheese" };

我想添加这两个,所以内容x是:{"apple", "soup", "wizard",Q.displayName, Q.ID.toString(), "no more cheese"};按那个顺序。这可能吗?如果结果必须进入一个新的字符串数组,那很好;我只是想知道如何实现它。

4

4 回答 4

10

这个答案

var z = new string[x.length + y.length];
x.CopyTo(z, 0);
y.CopyTo(z, x.length);
于 2012-07-25T20:31:08.463 回答
3

你可以试试:

string[] a = new string[] { "A"};
string[] b = new string[] { "B"};

string[] concat = new string[a.Length + b.Length];

a.CopyTo(concat, 0);
b.CopyTo(concat, a.Length);

然后concat是您的串联数组。

于 2012-07-25T20:35:06.590 回答
2

由于您提到 .NET 2.0 并且 LINQ 不可用,因此您真的被困在“手动”中:

string[] newArray = new string[x.Length + y.Length];
for(int i = 0; i<x.Length; i++)
{
   newArray[i] = x[i];
}

for(int i = 0; i<y.Length; i++)
{
   newArray[i + x.Length] = y[i];
}
于 2012-07-25T20:34:52.120 回答
1

尝试这个。

     string[] front = { "foo", "test","hello" , "world" };
     string[] back = { "apple", "soup", "wizard", "etc" };


     string[] combined = new string[front.Length + back.Length];
     Array.Copy(front, combined, front.Length);
     Array.Copy(back, 0, combined, front.Length, back.Length);
于 2012-07-25T20:35:15.880 回答