zoukankan      html  css  js  c++  java
  • 我对位标识的使用

    位标识确实是特别好用,可以用它来设置权限。
    eg:一个八位的二进制去设置一系列的操作,初始化时:00000000,从第一步操作开始,每完成一次操作就使对应的位由0变为1。
    00000001 第一步完成
    00000011 第一步和第二步完成
    00000111 第一步和第二步和第三步都完成
    …… 当所有的位都为1时就表示所有的操作都已经完成

    但是当第二步完成后第一步也可以修改的情况下,此时即00000010。我们可以使用枚举操作设置完成的步骤。
    //测试数据录入状态的标志
    //下面的枚举值从低位开始标志8个录入项

    public enum DataState
    {
    step1= 1,
    step2= 2,
    step3= 4,
    step4= 8,
    step5= 16,
    step6= 32,
    step7= 64,
    step8= 128
    }
    定义属性 public DataState MyDataState{get;set}

    当为每一步条件进行判断,满足条件时,便可使对应位由0设置为1。

    this.MyDataState=this.MyDataState|DataState.step1;

    如果修改后的数据不满足此步要求的条件,就要将对应的位设置为0。

    this.MyDataState=this.MyDataState&(`DataState.step1);

    最后可保存到数据库中。

    以上只是个人理解,请多多指教。
  • 相关阅读:
    Java8新特性之lambda表达式
    查询数据库存在特殊列字段的所有表的表名和字段名
    BigDecimal相关整理
    MyBatis正在爬的坑
    Java面试题整理
    qs库的使用
    配置proxy解决跨域问题
    PDF.js 使用方式
    HTML转义以及防止JS注入攻击
    jquery ajax跨域回调
  • 原文地址:https://www.cnblogs.com/Cindys/p/1997491.html
Copyright © 2011-2022 走看看