字节数组复制到c#中的另一个字节数组

本文关键字:字节 数组 字节数 另一个 复制 | 更新日期: 2023-09-27 18:19:52

这是我的代码。当我运行时,第一个字节保存在tempbuf的第0个位置。但是当我得到第二个字节时,第一个值在tempbuf:-(

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
    int bytes = serialPort1.BytesToRead;
    byte[] byte_buffer = new byte[200];
    byte[] tempbuf = new byte[200];
    byte[]tempbuf2=new byte[200];
    byte[] ar = new byte[20];
    byte[] ssd = new byte[4];
    byte[] ctrl = new byte[20];
     string pp = "";
     string ll = "";
     serialPort1.Read(byte_buffer, 0, bytes);

     if (i == 0)
     {
        index = byte_buffer[0];
     }
      tempbuf[q++] = byte_buffer[0];
     i++;
     if (i == 200)
     {
      array[index] = TestSerializer.MarshalToStructureArray(tempbuf, tempbuf.Length);
      if (textBox30.InvokeRequired)
      {
     this.Invoke(((MethodInvoker)delegate
      {
       textBox30.Text = index.ToString();
     }));
    }
    i = 0;
    }
   if (q == 200)
    {

   q = 0;
}

字节数组复制到c#中的另一个字节数组

我通过将tempbuf声明为静态字节数组来解决这个问题:

static byte[] tempbuf = new byte[200];