13 c#
我遇到了一些继承的枚举器uint.我无法弄清楚为什么有人会这样做.
例:
Enum myEnum : uint
{
...
}
Run Code Online (Sandbox Code Playgroud)
有人会这样做的任何优势或具体原因?为什么不把它作为defaultint?
我猜它已经被允许自动转换为uint(在C中,枚举被类型系统视为int).很可能允许对枚举的标志值进行按位OR运算.请参阅http://www.velocityreviews.com/forums/t286596-enums-in-c-and-c.html
在某些情况下使用.NET的COM Interop/P/Invoke时,这是方便且绝对必要的.例如,您肯定会在pinvoke.net上找到一些以这种方式定义的内容.在某些情况下,它只是更接近底层API定义,但不是必需的,但在某些情况下,底层API可能会使用其中一些高位作为标志,并且它将需要为UINT.在Interop之外,你可以在普通的C#/ VB.NET中使用一些非常高的位作为标志,这也可能需要uint.
| 归档时间: |
|
| 查看次数: |
13257 次 |
| 最近记录: |