标签:math 参考 return .com 记录 限时 关于 权限设计 bsp
当我们为某个用户设置某个功能的增删改查,审核,等等权限的时候,又不想用多个字段来记录此功能的权限时,可以考虑用类似枚举值的形式来保存选择的权限,
比如:
查看=1
新增=2
修改=4
删除=8
审核=16
发布=32
当用户的权限值=6的时候 我们就知道他拥有新增和修改权限,当=33的时候 就知道拥有查看和发布权限,具体计算可参考下面的代码
static void Main(string[] args) { while (true) { Console.WriteLine("输入数字:"); List<int> lst = new List<int>(); GetNum(int.Parse(Console.ReadLine()), lst); Console.WriteLine("结果:" + string.Join(" ", lst)); } Console.ReadKey(); } private static void GetNum(int intNum, List<int> lst) { if (intNum <= 0) return; double dec = Math.Log(intNum) / Math.Log(2); int intMax = (int)dec; int intMaxNum = (int)Math.Pow(2, intMax); lst.Add(intMaxNum); intNum = intNum - intMaxNum; GetNum(intNum, lst); }
运行结果
这样就可以很方便的存储多个权限到一个字段
标签:math 参考 return .com 记录 限时 关于 权限设计 bsp
原文地址:https://www.cnblogs.com/bfyx/p/10268372.html