• 枚举、位操作 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将会吧字符串拆分成单个的符合,然后查询每一个符合的值,并对相

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

    类型的实例。

  • 相关阅读:
    gin内置验证器使用
    model
    work,工作模式
    orm框架
    simple模式下rabbitmq的代码
    rabbitmq介绍
    订阅模式
    路由模式
    redis五大数据类型
    Go操作redis
  • 原文地址:https://www.cnblogs.com/gowhy/p/2013393.html
Copyright © 2020-2023  润新知