publice enum NowType { Mobility= 2996146975 }
提示无法将uint转换成int,因为2996146975超范围了,应该怎么处理?
publice enum NowType : long
正解
这个是可以的,你可以试一下
static上面的分号不是多的吗
这个真的能用麽
C#貌似不能这么写,恕我看不懂这个语法冒昧问一问~~
@七芯海棠: 因为不多余的话编译通过不了。正常来说不应该这样使用枚举。要是真的要用,我这种格式是可以的。
@鸿燕藏锋: 没见过这种写法, VS编译不过,C#不支持?还是? 才疏学浅,还是不懂这个代码是怎么运行起来的 你那边用的时候也能En.Red这样用?能写个完整的给我看吗 我很好奇
@七芯海棠:
@七芯海棠: 我想问的是,你用Java的enum是用来实现什么样的功能的,你这个写法在Java中是不建议的。
@七芯海棠: 你这是Java写的还是C++写的
@鸿燕藏锋: 嗯 看到了 但是C#好像没这种写法
@七芯海棠: 不好意思啊,我自己没有学过C#
为什么会这样用枚举呢
2996146975是hash值 要用来查询相关信息
做位操作尽量统一使用无符号类型
api设定的值就是这样的
@罗伯特·福特: 主流虚拟机执行都做了安全检查的,你用c子类的底层语言就不受限制。你既然能接受long,居然不能接受uint——“api值限定”,不知道什么逻辑。