zoukankan      html  css  js  c++  java
  • 遍历一个枚举类型


    枚举是一种很有意思的构造。在.net中,枚举类型拥着一些很酷的特性.
    以下面这个枚举类型为例:enum AccessRight:int
    //某种资源的访问权限{ Read=1,   
    //读 十六进制为0x01 Write=2,  
    //写 十六进制为0x02 Delete=4  
    //删除 十六进制为0x04}在.net中,
    我们可以:AccessRight right=AccessRight.Read;
    //获取枚举变量right的值的十进制表示string s1=right.ToString("D");
    //获取枚举变量right的值的十六进制表示string s2=right.ToString("X");
    //获取一个枚举变量right的枚举名,在这里就是Readstring s3=right.ToString("G");
    如果你觉得上面那句赋值语句:(AccessRight right=AccessRight.Read;)不够灵活,还可以这样:
    //使用枚举名来获取一个枚举AccessRight right=(AccessRight)System.Enum.Parse(typeof(AccessRight),"Read")
    ;//也可以用枚举值来获取一个枚举AccessRight right=(AccessRight)System.Enum.Parse(typeof(AccessRight),"1");

    另外,你还可以遍历一个枚举类型Foreach(AccessRight right in (AccessRight[])
    System.Enum.GetValues(typeof(AccessRight)) ){}
    最后,还可以对枚举进行位算法AccessRight right=AccessRight.Read|AccessRight.Write;string ss=right.Tostring("F");
    那么ss将会是"read,write"

  • 相关阅读:
    Floyd算法
    递归函数的学习
    动态联编【转】
    哈希hash
    sizeof与strlen
    写入文件和读取文件信息—Java Card开发第三篇
    文件系统创建—Java Card开发第二篇
    获取缓冲区内容与将缓冲区内容返回—Java card开发第一篇
    i++与++i
    电脑无法登陆ftp
  • 原文地址:https://www.cnblogs.com/flyfish/p/299620.html
Copyright © 2011-2022 走看看