有一个功能等价的PHP array_merge在C# [英] is there a function equivalent of php array_merge in c#

查看:107
本文介绍了有一个功能等价的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屋!

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