How do I concatenate two arrays in C#?

hwiechers picture hwiechers · Oct 10, 2009 · Viewed 337.2k times · Source
int[] x = new int [] { 1, 2, 3};
int[] y = new int [] { 4, 5 };

int[] z = // your answer here...

Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));

Right now I use

int[] z = x.Concat(y).ToArray();

Is there an easier or more efficient method?

Answer

Zed picture Zed · Oct 10, 2009
var z = new int[x.Length + y.Length];
x.CopyTo(z, 0);
y.CopyTo(z, x.Length);