程序开发 > C# > 正文

C#合并二进制数组(byte数组)

亮术网 2020-07-18 本网原创

在 C# 中,二进制数组可不像普通数组(如 字符数组)那么容易添加删除元素,遇到添加元素的情况,那怕是在数组前面添加一个元素,也只能通过合并数组实现,这显得有些麻烦,但限于 C# 没有提供相应的方法。

C#合并二进制数组也不像普通数组把一个数组添加到另一个数组后,而需要新建一个数组,然后把这两个数组添加到这个新建数组中;这主要因为二进制数组创建时需要给出数组长度(即元素总数),接着就看用代码怎么实现二进制数组合并。

 

C#合并二进制数组实现:

首先根据待合并数组的总长度新建一个数组,然后把第一个数组复制到新数组,接着把第二数组复制到新数组,实现代码如下:

/// <summary>
  /// C# byte数组合并((二进制数组合并)
  /// </summary>
  /// <param name="srcArray1">待合并数组1</param>
  /// <param name="srcArray2">待合并数组2</param>
  /// <returns>合并后的数组</returns>

  private byte[] CombomBinaryArray(byte[] srcArray1, byte[] srcArray2)
  {
    //根据要合并的两个数组元素总数新建一个数组
    byte[] newArray = new byte[srcArray1.Length + srcArray2.Length];

  //把第一个数组复制到新建数组
    Array.Copy(srcArray1, 0, newArray, 0, srcArray1.Length);

  //把第二个数组复制到新建数组
    Array.Copy(srcArray2, 0, newArray, srcArray1.Length, srcArray2.Length);

  return newArray;
  }

调用:

using System.Text;

string text = "C#合并二进制数组";
  byte[] b1 = Encoding.Default.GetBytes(text);

string words = "C# byte数组合并";
  byte[] b2 = Encoding.Default.GetBytes(words);

byte[] newArr = CombomBinaryArray(b1, b2);
  Response.Write("<br />"; + newArr.Length);

 

输出结果:

新数组长度 31