在.NET2.0中是否有一个内置函数可以接受两个数组并将它们合并为一个数组?

这两个数组属于同一类型.我从代码库中广泛使用的函数中获取这些数组,不能修改该函数以不同的格式返回数据.

如果可能的话,我希望避免编写自己的函数来实现这一点.

推荐答案

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

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

More on available Array methods on MSDN

.net相关问答推荐

避免函数和其他对象之间的相互递归的模式?

无法通过构建目标访问 dotnet 的环境变量

每当属性值发生变化时引发事件?

.NET 的future 版本会支持 C# 中的元组吗?

将毫秒转换为人类可读的时间间隔

.Include() 与 .Load() 在 EntityFramework 中的性能

异步总是 WaitingForActivation

mstest.exe 在哪里?

添加新实体标量时实体框架 4 映射片段错误

File.ReadAllLines() 和 File.ReadAllText() 有什么区别?

注册 COM 互操作与使程序集 COM 可见

调用委托与方法的性能

Double.TryParse 或 Convert.ToDouble - 哪个更快更安全?

在未安装 Visual Studio 的机器上使用 FUSLOGVW.EXE

有没有办法从方法返回匿名类型?

Linq to SQL - 返回前 n 行

将字典值转换为数组

C# List<> 按 x 然后 y 排序

如何重新启动 WPF 应用程序?

Linq Query 不断抛出无法创建 System.Object 类型的常量值......,为什么?