积极答复者
麻烦高手指点一下,枚举

问题
-
public enum OperateCode
{
AccessoriesManage = 0x6054e38,
AddComplain = 0x61471b0,
AddFunctionary = 0x61471b1,
AddressManage = 0x61471b7,
AddService = 0x61471af,
AdManage = 0x6423028}
我反编了别人的网站, 这是其中的一个枚举类,我搞不明白为什么每个属性的值(0x6054e38) 都是这么定义的,.. 谁能帮我解释一下..
转成int型输出出来都是( 101011000) 9位数的数字, 我全部输出出来 看了一下,有没有顺序
答案
-
你好!
这个不好估计了,只有看到他具体怎么用的才知道是否有实际意义,也可能没有实际意义,只是一组数字!
另外,网站的代码反编译没有什么实际参考价值,要搞懂他的实现反而浪费大量的时间啊!
周雪峰- 已标记为答案 Jing0Moderator 2010年6月8日 3:25
-
你好 我想这些仅是定义的一些系统中的操作码,我想其利用的就是枚举的方便性
并无什么特别的含义
不过有一些人利用枚举进行|操作来实现系统权限的精细控制
I see you~http://hi.baidu.com/1987raymondMy Blog~~~- 已标记为答案 Jing0Moderator 2010年6月8日 3:25
-
用二进制的数字表示一个状态,可以方便判断某个flag 是否是1或者0。 比如: 用8位二进制(一个字节)表示128 也就是1000 00000, 假如这第一位的1 代表某某功能允许,那么你在判断这个功能是否允许时,就用128 与这个数值进行与操作,如果返回0就是不允许,如果返回1就是允许。 便于处理。
- 已标记为答案 Jing0Moderator 2010年6月8日 3:25
全部回复
-
你好!
这个不好估计了,只有看到他具体怎么用的才知道是否有实际意义,也可能没有实际意义,只是一组数字!
另外,网站的代码反编译没有什么实际参考价值,要搞懂他的实现反而浪费大量的时间啊!
周雪峰- 已标记为答案 Jing0Moderator 2010年6月8日 3:25
-
你好 我想这些仅是定义的一些系统中的操作码,我想其利用的就是枚举的方便性
并无什么特别的含义
不过有一些人利用枚举进行|操作来实现系统权限的精细控制
I see you~http://hi.baidu.com/1987raymondMy Blog~~~- 已标记为答案 Jing0Moderator 2010年6月8日 3:25
-
用二进制的数字表示一个状态,可以方便判断某个flag 是否是1或者0。 比如: 用8位二进制(一个字节)表示128 也就是1000 00000, 假如这第一位的1 代表某某功能允许,那么你在判断这个功能是否允许时,就用128 与这个数值进行与操作,如果返回0就是不允许,如果返回1就是允许。 便于处理。
- 已标记为答案 Jing0Moderator 2010年6月8日 3:25