一尘不染

合并.NET中的两个数组

c#

.NET 2.0中是否有内置函数将两个数组合并为一个数组?

数组都是相同的类型。我是从代码库中广泛使用的函数获取这些数组的,无法修改该函数以其他格式返回数据。

我希望避免编写自己的函数来完成此操作(如果可能)。


阅读 229

收藏
2020-05-19

共1个答案

一尘不染

如果可以操纵其中一个数组,则可以在执行复制之前调整其大小:

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);

有关MSDN上可用的数组方法的更多信息

2020-05-19