如何以通用方式连接数组?

How to join arrays in a generic fashion way?

我想独立于数组的类型加入数组。

T[] arr1 = new T[];
T[] arr2 new T[];
T[] newArr = Helper.GetJoint(arr1, arr2);

您可以为此使用 LINQ

 T[] newArr = arr1.Concat(arr2).ToArray();

对于较大的数组,想要优化分配的地方,可以使用下面的扩展方法

public static T[] Append<T>(this ICollection<T> arr1, ICollection<T> arr2) {
    var newArr = new T[arr1.Count + arr2.Count];
    arr1.CopyTo(newArr, 0);
    arr2.CopyTo(newArr, arr1.Count);
    return newArr;
}

这个可以在下面调用

var newArr = arr1.Append(arr2);