小编典典

在 .NET 中合并两个数组

all

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

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

如果可能的话,我希望避免编写自己的函数来完成此任务。


阅读 70

收藏
2022-05-06

共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 上可用数组方法的更多信息

2022-05-06