How do I concatenate two arrays in C#? How do I concatenate two arrays in C#? arrays arrays

How do I concatenate two arrays in C#?


var z = new int[x.Length + y.Length];x.CopyTo(z, 0);y.CopyTo(z, x.Length);


Try this:

List<int> list = new List<int>();list.AddRange(x);list.AddRange(y);int[] z = list.ToArray();


You could write an extension method:

public static T[] Concat<T>(this T[] x, T[] y){    if (x == null) throw new ArgumentNullException("x");    if (y == null) throw new ArgumentNullException("y");    int oldLen = x.Length;    Array.Resize<T>(ref x, x.Length + y.Length);    Array.Copy(y, 0, x, oldLen, y.Length);    return x;}

Then:

int[] x = {1,2,3}, y = {4,5};int[] z = x.Concat(y); // {1,2,3,4,5}