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#的新手。

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();

首先,你的初始化是错误的。

  1. 值之间以逗号分隔。
  2. 像'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));