c#如何读取字节数组[]中的选定值
本文关键字:数组 字节数 何读取 读取 字节 | 更新日期: 2023-09-27 18:07:00
我在c#中有这样的数组字节:
byte[] reply = new byte[] {0x09, 0x02, 0x08, 0x63, 0x01, 0x01, 0x10, 0x21, 0x03, 0x5D, 0x01, 0x06};
如何只读取字节数组中的{0x01, 0x06}值?我该怎么做?我是c#的新手。
首先,我认为你声明数组的方式是错误的,你错过了逗号。
byte[] reply = new byte[] {09, 02, 08, 63, 01, 01, 10, 21, 03, 5D, 01, 06};
接下来,如果您知道要读取的两个值:(首先将using System.Linq;
添加到您的命名空间中)
byte[] values = reply.Where(val => val == 01 || val == 06).ToArray();
或者,如果在另一个数组中有需要的值:
byte[] need = new byte[] { 01, 06 };
byte[] values = reply.Where(val => need.Contains(val)).ToArray();
首先,你的初始化是错误的。
- 值之间以逗号分隔。
-
像'5D'这样的值不是数据类型字节。
byte[] reply = new byte[] {0x09, 0x02, 0x08, 0x63, 0x01, 0x01, 0x10, 0x21, 0x03, 0x5D, 0x01, 0x06}; var answer = reply.Where(x => x.Equals(0x01) || x.Equals(0x06));