C#合并数组

public string[] MergerArray(string[] First, string[] Second)
{
    string[] result = new string[First.Length + Second.Length];
    First.CopyTo(result, 0);
    Second.CopyTo(result, First.Length);
    return result;
}

泛型版本

public T[] MergerArray<T>(T[] First,T[] Second)
{
    T[] result =new T[First.Length + Second.Length];
    First.CopyTo(result, 0);
    Second.CopyTo(result, First.Length);
    return result;
}

合并多个数组

/// <summary>
/// 连接多个数组
/// </summary>
/// <typeparam name="T">数组数据类型</typeparam>
/// <param name="source">源数组</param>
/// <param name="arrays">被连接的多个数组</param>
/// <returns></returns>
public static T[] Concat<T>(this T[] source, params T[][] arrays)
{
    if (source == null)
    {
        throw new ArgumentNullException("source");
    }


    var length = source.Length + arrays.Sum(array => array != null ? array.Length : 0);
    var result = new T[length];
    length = source.Length;
    Array.Copy(source, 0, result, 0, source.Length);
    foreach (var array in arrays)
    {
        if (array != null)
        {
            Array.Copy(array, 0, result, length, array.Length);
            length += array.Length;
        }
    }
    return result;
}
本文为“技术点滴”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注