如果不是,创建它的最佳方法是什么?
注意:合并不仅仅是追加,它融合了相同的键。
最佳答案
此功能存在于 List 元素上。数组在 C# 中是固定宽度的项目,因此您不能在不创建新数组的情况下修改大小。但是,列表是另一回事。你可以这样做:
List<int> sample = oldList.AddRange(someOtherList);
// sample contains oldList with all elements of someOtherList appended to it.
此外,使用 LINQ 可以很容易地在 List 和 Array 之间进行转换
.ToList()
.ToArray()
扩展方法。如果你想用不确定数量的数组来做到这一点,你可以这样做:
public static class ArrayExtensions
{
public static T[] MergeArrays<T>(this T[] sourceArray, params T[][] additionalArrays)
{
List<int> elements = sourceArray.ToList();
if(additionalArrays != null)
{
foreach(var array in additionalArrays)
elements.AddRange(array.ToList());
}
return elements.ToArray();
}
}
然后调用:
int[] mergedArray = initialArray.MergeArrays(array1, array2, array3 /* etc */);
关于c# - c# 中是否有等效于 php array_merge 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395859/