首页 新闻 会员 周边

使用enum类时,赋值超过2147483647时怎么处理

0
悬赏园豆:5 [已解决问题] 解决于 2017-11-03 11:00
publice enum NowType
{
Mobility= 2996146975
}

提示无法将uint转换成int,因为2996146975超范围了,应该怎么处理?

罗伯特·福特的主页 罗伯特·福特 | 初学一级 | 园豆:133
提问于:2017-11-02 16:15
< >
分享
最佳答案
1

publice enum NowType : long

收获园豆:5
西漠以西 | 小虾三级 |园豆:1675 | 2017-11-02 16:51

正解 

顾星河 | 园豆:7173 (大侠五级) | 2017-11-02 16:58
其他回答(3)
0

 这个是可以的,你可以试一下

 

fcyh | 园豆:568 (小虾三级) | 2017-11-02 16:37

static上面的分号不是多的吗 

这个真的能用麽

C#貌似不能这么写,恕我看不懂这个语法冒昧问一问~~

支持(0) 反对(0) 顾星河 | 园豆:7173 (大侠五级) | 2017-11-02 16:42

@七芯海棠: 因为不多余的话编译通过不了。正常来说不应该这样使用枚举。要是真的要用,我这种格式是可以的。

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-11-02 16:44

@鸿燕藏锋: 没见过这种写法, VS编译不过,C#不支持?还是? 才疏学浅,还是不懂这个代码是怎么运行起来的   你那边用的时候也能En.Red这样用?能写个完整的给我看吗  我很好奇

支持(0) 反对(0) 顾星河 | 园豆:7173 (大侠五级) | 2017-11-02 16:56

@七芯海棠: 

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-11-02 17:44

@七芯海棠: 我想问的是,你用Java的enum是用来实现什么样的功能的,你这个写法在Java中是不建议的。

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-11-02 17:45

@七芯海棠: 你这是Java写的还是C++写的

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-11-02 17:49

@鸿燕藏锋:  嗯 看到了  但是C#好像没这种写法  

支持(0) 反对(0) 顾星河 | 园豆:7173 (大侠五级) | 2017-11-02 18:02

@七芯海棠: 不好意思啊,我自己没有学过C#

支持(0) 反对(0) fcyh | 园豆:568 (小虾三级) | 2017-11-02 18:03
0

为什么会这样用枚举呢 

顾星河 | 园豆:7173 (大侠五级) | 2017-11-02 16:38

 2996146975是hash值  要用来查询相关信息

支持(0) 反对(0) 罗伯特·福特 | 园豆:133 (初学一级) | 2017-11-03 10:59
0

做位操作尽量统一使用无符号类型

花飘水流兮 | 园豆:13560 (专家六级) | 2017-11-03 09:02

api设定的值就是这样的

支持(0) 反对(0) 罗伯特·福特 | 园豆:133 (初学一级) | 2017-11-03 11:00

@罗伯特·福特: 主流虚拟机执行都做了安全检查的,你用c子类的底层语言就不受限制。你既然能接受long,居然不能接受uint——“api值限定”,不知道什么逻辑。

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2017-11-03 12:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册