首页 > 代码库 > c# 权限二进制操作
c# 权限二进制操作
/// <summary> /// 位运算,二进制 /// </summary> [Flags] public enum PermissionEnum { /// <summary> /// 初始化 /// 0000 /// </summary> Init = 0, /// <summary> /// 插入 /// 0001 /// </summary> Insert = 1, /// <summary> /// 删除 /// 0010 /// </summary> Delete = 2, /// <summary> /// 更新 /// 0100 /// </summary> Update = 4, /// <summary> /// 查询 /// 1000 /// </summary> Query = 8 }
class Program { static void Main(string[] args) { //初始化一个新增权限 var demo = InsertPermission(PermissionEnum.Insert); Console.WriteLine(demo); //再增加一个查询权限 demo = InsertPermission(PermissionEnum.Query, demo); Console.WriteLine(demo); //再增加一个删除权限 demo = InsertPermission(PermissionEnum.Delete, demo); Console.WriteLine(demo); //删除一个新增权限 demo = DeletePermission(PermissionEnum.Insert, demo); Console.WriteLine(demo); //判断是否拥有新增权限 Console.WriteLine(GetPermission(PermissionEnum.Insert, demo)); //判断是否拥有查询权限 Console.WriteLine(GetPermission(PermissionEnum.Query, demo)); Console.Read(); } /// <summary> /// 增加权限 /// </summary> /// <param name="perType">需要增加什么权限(增删改查)</param> /// <param name="userPer">用户原来的权限</param> /// <returns></returns> public static int InsertPermission(PermissionEnum perType, int userPer = (int)PermissionEnum.Init) { //或运算 真假 为真; return userPer | (int)perType; } /// <summary> /// 删除权限 /// </summary> /// <param name="perType">需要删除什么权限(增删改查)</param> /// <param name="userPer">用户原来的权限</param> /// <returns></returns> public static int DeletePermission(PermissionEnum perType, int userPer = (int)PermissionEnum.Init) { //~补位,~000010 = 111101 //&与,真真为真,真假为假 return userPer & ~(int)perType; } /// <summary> /// 判断是否拥有权限 /// </summary> /// <param name="perType">判断是否拥有的权限类型</param> /// <param name="userPer">用户原来的权限</param> /// <returns></returns> public static bool GetPermission(PermissionEnum perType, int userPer = (int)PermissionEnum.Init) { //&与,真真为真,真假为假 //判断出来的数不等于零,那就是拥有该权限 return (userPer & (int)perType) != 0; }
c# 权限二进制操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。