-
慕工程0101907
在C#3.0中,可以使用LINQ的Concat方法轻松完成此操作:int[] front = { 1, 2, 3, 4 };int[] back = { 5, 6, 7, 8 };int[] combined = front.Concat(back).ToArray();在C#2.0中,您没有直接的方法,但是Array.Copy可能是最好的解决方案:int[] front = { 1, 2, 3, 4 };int[] back = { 5, 6, 7, 8 };int[] combined = new int[front.Length + back.Length];Array.Copy(front, combined, front.Length);Array.Copy(back, 0, combined, front.Length, back.Length);这可以轻松地用于实现您自己的Concat。
-
慕的地10843
使用LINQ:var arr1 = new[] { 1, 2, 3, 4, 5 };var arr2 = new[] { 6, 7, 8, 9, 0 };var arr = arr1.Union(arr2).ToArray();请记住,这将删除重复项。如果要保留重复项,请使用Concat。
-
犯罪嫌疑人X
如果可以操纵其中一个数组,则可以在执行复制之前调整其大小:T[] array1 = getOneArray();T[] array2 = getAnotherArray();int array1OriginalLength = array1.Length;Array.Resize<T>(ref array1, array1OriginalLength + array2.Length);Array.Copy(array2, 0, array1, array1OriginalLength, array2.Length);否则,您可以制作一个新数组T[] array1 = getOneArray();T[] array2 = getAnotherArray();T[] newArray = new T[array1.Length + array2.Length];Array.Copy(array1, newArray, array1.Length);Array.Copy(array2, 0, newArray, array1.Length, array2.Length);