zoukankan      html  css  js  c++  java
  • 枚举、位操作 CLR学习第十二课 狼

    一、枚举:继承关系System.Object-->system.ValueType--->System.Enum(值类型)

    ,可对其进行格式化输出。
    二、判断一个枚举是否合法:Enum.IsDefined;枚举类型转换:Enum.Parse;可以把数

    值转换为枚举类型。

    三、位标记:定义一个枚举类型,在枚举类型上加上[Flags]属性。
    如:
            [Flags]
    enum Actions
    {
     Read =0X0001,
     Write=0X0002,
     Delete=0X0004,
     Query=0X0008,
     Sync=0X00010,
    }
    调用
    Actions actions=Actions.Read|Actions.Write;//值是:0x0003
    Console.WriteLine(actions.ToString());//输出"Read、Wirte"

    他们的值是2的N次方,如上可以用^、|、&等符号进行运算实现从数据组合。如果我

    们直接给一个值,系统也会为自动进行位运算,返回当前值是由哪几个已经定义的位

    数据组合而成的。就像上面一样,我们不用再定义一个可读写的枚举。

    实例:Actions a=(Actions) Enum.Parse(typeof(Actions),“28”,false)
    console.writeline(a.tostring())//输出 Delete、Query、Sync
    当,Parse的方法被调用时,他们同样会检查枚举类型上是否应用了[Flags]定制特性

    ,如果有Parse将会吧字符串拆分成单个的符合,然后查询每一个符合的值,并对相

    应的值执行位或(只允许位操作,禁止算术操作 加、减)操作,最后得到一个枚举

    类型的实例。

  • 相关阅读:
    android 工具类 DateUtil
    POJ1580 水题,积累!
    POJ1159,Palindrome
    iOS开发UI篇章 15-项目中的常见文件
    MongoDB:Map-Reduce
    三层架构下实现用户登陆C#
    Inno Setup 安装inf文件的一个例子
    delphi 主线程向子线程发送消息
    PeekMessage和GetMessage函数的主要区别
    delphi SPCOMM的一些用法注意
  • 原文地址:https://www.cnblogs.com/gowhy/p/2013393.html
Copyright © 2011-2022 走看看