C#是否支持结构中的位字段(位打包)?

时间:2013-09-20 06:15:10

标签: c#

我认为在c#结构中不可能使用位字段,但可以在c ++中使用。 例如:

typedef struct
{

    UINT16 SrcPort:16;
    UINT16 DstPort:16;
    UINT32 SeqNum:32;
    UINT32 AckNum:16;
    UINT16 Reserved1:4;
    UINT16 HdrLength:4;

}IP_HDR

我们如何在c#中使用位字段创建这样的结构?

我的问题是我们如何在C#结构中设置位字段。有没有办法在C#中做到这一点?

1 个答案:

答案 0 :(得分:2)

不,C#不提供任何语言功能来定义或访问小于1个字节的数据存储。您必须屏蔽并移位以隔离数据中的位子范围。