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

时间:2016-05-30 13:39:39

标签: c# bytearray

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

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

错误:

  

无效的表达式术语'{'
  ;预期

4 个答案:

答案 0 :(得分:7)

您只能在施工时初始化时执行此操作:

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

以后你只能这样做:

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

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

答案 1 :(得分:4)

C#没有像这样的数组文字语法。只有在施工时才可以做到。

将您的代码调整为:

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

答案 2 :(得分:2)

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

byte [] frame_to_send = new byte [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;

你总是可以使用循环来完成它。

答案 3 :(得分:1)

这就是你要找的东西:

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