//以下为部分代码
Int32 BufferSize = 8192;
byte[] buffer=new byte[BufferSize];
ArrayList arrBuffer=new ArrayList();
…………
streamToClient.BeginRead(buffer, 0, BufferSize, callBack, null);
…………
arrBuffer.Add(buffer);         
…………
byte[] rerultBytes
如何将arrBuffer存储的byte[]全部合并到rerultBytes中?

解决方案 »

  1.   


    int n = arrBuffer.Count;byte[] resultBytes = new byte[n];for (int i = 0; i < n; i++ )
    {
        resultBytes[i] = (byte) arrBuffer[i];
    }
      

  2.   

    1楼的hikaliv,你好,我测试过,系统提示出错,错误信息如下:
    指定的转换无效
      

  3.   

    2楼的CsToD 你好,我是想实现将arrBuffer中保存的所有 byte数组全部合并到rerultBytes,不是指定特定索引位置的赋给rerultBytes
      

  4.   

    List<byte> list= new List<byte>();
    list.AddRange(arrBuffer.ToArray())
      

  5.   


    老大,你看看msdn行不?
    arrBuffer.CopyTo(rerultBytes,index)
    其中index是rerultBytes的索引 !!!
    本来就是把arrBuffer的所有字节复制过去!
    从你的表述中,可以知道rerultBytes已经有一些数据了,所以index是指rerultBytes中的位置,
    避免把已有的数据覆盖
    .......
      

  6.   

     
    rerultBytes 中没有数据,我是想将arrBuffer中所有byte[]全部合并到rerultBytes
      

  7.   

    采用arrBuffer.CopyTo这种方式进行复制,会提示如下错误:
    源数组中至少有一个元素无法被向下转换到目标数组类型
      

  8.   

    感谢大家热情帮忙,最后我通过将bytet先暂时写到文件,最后再全部读出的方式解决了。