【问题标题】:How to join arrays in a generic fashion way?如何以通用方式加入数组?
【发布时间】:2019-02-25 17:11:21
【问题描述】:

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

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

【问题讨论】:

    标签: c# arrays concat


    【解决方案1】:

    您可以为此使用 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);
    

    【讨论】:

    • 我在回答中提到了这个选项,也是性能最差的选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多