有一个功能等价的PHP array_merge在C# [英] is there a function equivalent of php array_merge in c#
本文介绍了有一个功能等价的PHP array_merge在C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果没有什么创建它的最好办法
If not what's the best way to create it ?
请注意:?合并不仅是追加,它fusionned是相同的密钥
Note: merging is not just appending, it fusionned keys that are the same.
推荐答案
此功能列表元素的存在。数组是固定在C#中的宽度物品,所以你不能没有创建新阵列修改尺寸。然而,列表是一个不同的故事。你可以这样做:
This functionality exist on a List element. Arrays are fixed width items in C#, so you can't modify the size without creating a new array. However, Lists are a different story. You can do:
List<int> sample = oldList.AddRange(someOtherList);
// sample contains oldList with all elements of someOtherList appended to it.
此外,使用LINQ它十分容易列表和阵列之间进行转换以
Additionally, with LINQ it's trivially easy to convert between List and Array with the
.ToList()
.ToArray()
扩展方法。如果你想做到这一点与数组的一个不确定的数字,你可以做这样的事情:
extension methods. If you want to do that with an indeterminate number of arrays, you could do something like this:
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 */);
这篇关于有一个功能等价的PHP array_merge在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文