分配字节数组时出现奇怪的错误

Strange error when assigning a byte array

byte[] frame_to_send= new byte[6];
// code  

frame_to_send = { 0x68, 0x04, 0x83, 0x00, 0x00, 0x00}; `//Array edit`

错误:

Invalid expression term '{'
; expected

C# 没有这样的数组字面量语法。只有在施工的时候你才能做到。

将您的代码调整为:

byte[] frame_to_send= new byte[] { 0x68, 0x04, 0x83, 0x00, 0x00, 0x00};

只能在构造时初始化时这样做:

byte[] frame_to_send = { 0x68, 0x04, 0x83, 0x00, 0x00, 0x00};

以后任何时候都只能这样做:

frame_to_send = new byte[]{ 0x68, 0x04, 0x83, 0x00, 0x00, 0x00};

注意 在您展示的代码中,首先创建一个所有值都设置为 0 的字节数组,然后(尝试)创建一个新的,丢弃以前的完全创建。所以你最初的分配是完全多余的。

这就是您要查找的内容:

byte[] frame_to_send = new byte[] { 0x68, 0x04, 0x83, 0x00, 0x00, 0x00};

如果要在声明数组后使用它,则需要逐个元素地访问它。

字节[] frame_to_send = 新字节[6];

frame_to_send[0] = 0x68;
frame_to_send[1] = 0x04;
frame_to_send[2] = 0x83;
frame_to_send[3] = 0x00;
frame_to_send[4] = 0x00;
frame_to_send[5] = 0x00;

您可以随时使用循环来完成。