在C#中表示位数组的最佳方法?

div*_*nci 1 c# syntax construction

我目前正在c#中构建一个DHCPMessage类.

RFC可在此处获取:http://www.faqs.org/rfcs/rfc2131.html

public object DHCPMessage
{
    bool[8] op;
    bool[8] htype;
    bool[8] hlen;
    bool[8] hops;
    bool[32] xid;
    bool[16] secs;
    bool[16] flags;
    bool[32] ciaddr;
    bool[32] yiaddr;
    bool[32] siaddr;
    bool[32] giaddr;
    bool[128] chaddr;
    bool[512] sname;
    bool[1024] file;
    bool[] options;
}
Run Code Online (Sandbox Code Playgroud)

如果我们想象每个字段都是固定长度的位数组,那么:

  1. 最多才多艺
  2. 最佳实践

将此表示为一个类的方式???

或者..你会怎么写这个?:)

Aar*_*ght 11

对于初学者,您可以尝试BitArray类.无需在这里重新发明轮子.

如果你担心它会占用太多空间/内存,那就不要了.只需将其初始化为正确的大小:

BitArray op = new BitArray(8);
Run Code Online (Sandbox Code Playgroud)

(以上将保持8位,应占用1个字节)