zoukankan      html  css  js  c++  java
  • C#枚举中使用Flags特性

    这种用处很大,比如权限、执行状态等,都可以用一个int型保存到数据库中,C#中使用枚举可以处理这个问题。

        [Flags]
        public enum Permission
        {
            create = 1,
            read = 2,
            update = 4,
            delete = 8,        
        }

    C#对该类型的操作如下:

                Permission permission = Permission.create | Permission.read | Permission.update | Permission.delete;
                Console.WriteLine("1、枚举创建,并赋值……");
                Console.WriteLine(permission.ToString());
                Console.WriteLine((int)permission);
    
                permission = (Permission)Enum.Parse(typeof(Permission), "5");
                Console.WriteLine("2、通过数字字符串转换……");
                Console.WriteLine(permission.ToString());
                Console.WriteLine((int)permission);
    
                permission = (Permission)Enum.Parse(typeof(Permission), "update, delete, read", true);
                Console.WriteLine("3、通过枚举名称字符串转换……");
                Console.WriteLine(permission.ToString());
                Console.WriteLine((int)permission);
    
                permission = (Permission)7;
                Console.WriteLine("4、直接用数字强制转换……");
                Console.WriteLine(permission.ToString());
                Console.WriteLine((int)permission);
    
                permission = permission & ~Permission.read;
                Console.WriteLine("5、去掉一个枚举项……");
                Console.WriteLine(permission.ToString());
                Console.WriteLine((int)permission);
    
                permission = permission|Permission.delete;
                Console.WriteLine("6、加上一个枚举项……");
                Console.WriteLine(permission.ToString());
                Console.WriteLine((int)permission);

    在数据库中判断:

    AND (@permission IS NULL OR @permission=0 OR permission &@permission =@permission)

    上面的sql语句同样可以判断多个权限

  • 相关阅读:
    python基础篇-wordcloud库的使用
    python基础篇-数据格式化和处理
    python基础篇-文件(读取,操作,关闭)
    python基础篇-jieba库的使用
    python基础篇-组合数据类型-3.字典
    mbStringLength 获取javascript字符串字节数
    JS 字符unicode转换函数
    jar命令解析--转自百度知道
    JBOSS7.0 热部署及开启远程调试的方法
    WampServer 安装心得
  • 原文地址:https://www.cnblogs.com/zwei1121/p/12712172.html
Copyright © 2011-2022 走看看