none
麻烦高手指点一下,枚举 RRS feed

  • 问题

  •     public enum OperateCode
        {
            AccessoriesManage = 0x6054e38,
            AddComplain = 0x61471b0,
            AddFunctionary = 0x61471b1,
            AddressManage = 0x61471b7,
            AddService = 0x61471af,
            AdManage = 0x6423028

    }

     

    我反编了别人的网站, 这是其中的一个枚举类,我搞不明白为什么每个属性的值(0x6054e38) 都是这么定义的,.. 谁能帮我解释一下..

     

      转成int型输出出来都是( 101011000)  9位数的数字,  我全部输出出来 看了一下,有没有顺序

    2010年6月3日 3:55

答案

  • 你好!

         这个不好估计了,只有看到他具体怎么用的才知道是否有实际意义,也可能没有实际意义,只是一组数字!

         另外,网站的代码反编译没有什么实际参考价值,要搞懂他的实现反而浪费大量的时间啊!


    周雪峰
    2010年6月3日 12:38
    版主
  • 你好 我想这些仅是定义的一些系统中的操作码,我想其利用的就是枚举的方便性

    并无什么特别的含义

    不过有一些人利用枚举进行|操作来实现系统权限的精细控制


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    2010年6月7日 7:38
    版主
  • 用二进制的数字表示一个状态,可以方便判断某个flag 是否是1或者0。 比如: 用8位二进制(一个字节)表示128 也就是1000 00000, 假如这第一位的1 代表某某功能允许,那么你在判断这个功能是否允许时,就用128 与这个数值进行与操作,如果返回0就是不允许,如果返回1就是允许。 便于处理。
    2010年6月7日 23:33

全部回复

  • 你好!

         这个不好估计了,只有看到他具体怎么用的才知道是否有实际意义,也可能没有实际意义,只是一组数字!

         另外,网站的代码反编译没有什么实际参考价值,要搞懂他的实现反而浪费大量的时间啊!


    周雪峰
    2010年6月3日 12:38
    版主
  • 你好 我想这些仅是定义的一些系统中的操作码,我想其利用的就是枚举的方便性

    并无什么特别的含义

    不过有一些人利用枚举进行|操作来实现系统权限的精细控制


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    2010年6月7日 7:38
    版主
  • 用二进制的数字表示一个状态,可以方便判断某个flag 是否是1或者0。 比如: 用8位二进制(一个字节)表示128 也就是1000 00000, 假如这第一位的1 代表某某功能允许,那么你在判断这个功能是否允许时,就用128 与这个数值进行与操作,如果返回0就是不允许,如果返回1就是允许。 便于处理。
    2010年6月7日 23:33