[英]4-bit Enum in C#
我知道使用(:ulong,:uint,:ushort,:byte)可以使使用有符号或无符号64、32、16和8位值作为其基础值的枚举成为可能。 但是有可能创建一个4位枚举吗?
(我正在编写一些将与C ++互操作的代码,而我在C#中为返回类型提供的结构具有一个最自然的字段作为4位结构。)
根据C#规范:
枚举的批准类型为
byte
,sbyte
,short
,ushort
,int
,uint
,long
或ulong
。
这些都不是4位类型。 您在C ++方面也会遇到同样的问题。
但是有可能创建一个4位枚举吗?
不,主要是因为那会很尴尬且缓慢。 从语法上讲,没有4位类型可以指定为基本类型。
使用C ++,我在C#中为返回类型提供的结构具有一个字段,该字段最自然地作为4位结构。
我非常怀疑C ++是否可以处理位字段,但这非常有效(可能在空间中除外)。
与C ++交互非常困难,当您选择return类型时,请不要使其变得比原来更难。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.