繁体   English   中英

C#中的4位枚举

[英]4-bit Enum in C#

我知道使用(:ulong,:uint,:ushort,:byte)可以使使用有符号或无符号64、32、16和8位值作为其基础值的枚举成为可能。 但是有可能创建一个4位枚举吗?

(我正在编写一些将与C ++互操作的代码,而我在C#中为返回类型提供的结构具有一个最自然的字段作为4位结构。)

根据C#规范:

枚举的批准类型为bytesbyteshortushortintuintlongulong

这些都不是4位类型。 您在C ++方面也会遇到同样的问题。

但是有可能创建一个4位枚举吗?

不,主要是因为那会很尴尬且缓慢。 从语法上讲,没有4位类型可以指定为基本类型。

使用C ++,我在C#中为返回类型提供的结构具有一个字段,该字段最自然地作为4位结构。

我非常怀疑C ++是否可以处理位字段,但这非常有效(可能在空间中除外)。

与C ++交互非常困难,当您选择return类型时,请不要使其变得比原来更难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM