在 .NET 中合并两个数组 [英] Merging two arrays in .NET

查看:43
本文介绍了在 .NET 中合并两个数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

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

解决方案

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

T[] array1 = getOneArray();T[] array2 = getAnotherArray();int array1OriginalLength = array1.Length;Array.Resize(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 上可用的数组方法.>

Is there a built in function in .NET 2.0 that will take two arrays and merge them into one array?

The arrays are both of the same type. I'm getting these arrays from a widely used function within my code base and can't modify the function to return the data in a different format.

I'm looking to avoid writing my own function to accomplish this if possible.

解决方案

If you can manipulate one of the arrays, you can resize it before performing the copy:

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

Otherwise, you can make a new array

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 中合并两个数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆