c# - 如何从访问掩码中读取访问权限?

标签 c# algorithm

用户可以拥有以下访问权限:

Read = 1
Create = 2
Edit = 4
Delete = 8
Publish = 16
Administer = 32

当访问权限保存在数据库中时,只有一个数字用于表示该用户的所有访问权限。

例如

3 = Read + Create
25 = Read + Delete + Publish

如何获得给定号码(访问掩码)的所有访问权限?

如有任何帮助,我们将不胜感激!

最佳答案

[Flags]
public enum MyFlags
{
    Read = 1,
    Create = 2,
    Edit = 4,
    Delete = 8,
    Publish = 16,
    Administer = 32,
}

声明

MyFlags readCreate = MyFlags.Read | MyFlags.Create;

测试

bool hasRead = (readCreate & MyFlags.Read) == MyFlags.Read;
bool hasEdit = (readCreate & MyFlags.Edit) == MyFlags.Edit;

关于c# - 如何从访问掩码中读取访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4194524/

相关文章:

c# - 如何将字符串中的 "/"替换为 "\/"?

java - 如何将有序的整数列表划分为大小均匀的子列表?

c# - 查找大约相同数字的最大数量c#

algorithm - 为每个节点寻找最近的节点

c# - 如何从Convert中获取ConvertBack参数?

c# - ORA-06550 : Wrong number or type of arguments error when calling a function inside an oracle package in ASP. 网络

c# - 获取发送控件的名称属性以用于不透明度更改

c# - X509 商店无法通过序列号找到证书

algorithm - 哪种排序算法最适用于无法放入主内存的超大数据集

c - C 是否有任何用于执行字符串添加的工具?