数组本身是需要连续内存作为保证的,所以需要截取放在两个内存空间,再申请长度为原数组与插入数组之和的内存空间存放合并之后的数组。
list<T>可以轻松实现这样的功能Insert,而且当List<T>对象的Item元素数量超过了Capacity的数量时,List<T>对象会重新申请一块大小是原来Capacity的两倍的内存空间,然后将当前所有Item元素以及待添加元素复制到新的内存空间中。

解决方案 »

  1.   

    byte[] xxx=new byte[xxxxx];
    int aaa=1;
    byte[] intBytes=BitConvert.GetBytes(aaa);
    System.Buffer.BlockCopy(intBytes,0,xxx,指定位置,intBytes.Length);
      

  2.   

    也容易啊。
    用Array.Copy就可以public static void Copy(
    Array sourceArray,
    int sourceIndex,
    Array destinationArray,
    int destinationIndex,
    int length
    )http://msdn.microsoft.com/en-us/library/z50k9bft(v=vs.110).aspx
      

  3.   

    BitConverter把int转换成数组
    然后用一个循环修改。当然也可以用unsafe,用指针,那么和C是一样的。
      

  4.   

    谢谢各位,我后面是用内存流解决的,方法可能很笨,但总算达到目的了
     System.IO.MemoryStream aMS = new System.IO.MemoryStream(param1);
    byte[] byParam3=System.BitConverter.GetBytes(tmp);           
                aMS.Write(byParam3,0, byParam3.Length);