小编Yoh*_*han的帖子

如何在C#中使用flag属性从枚举中取出位掩码值?

在我们的数据库中,我们有一个位掩码,表示用户可以进行的操作类型.

在我们的C#客户端中,当我们从数据库中检索此整数值时,我们构造一个枚举/标志.它看起来有点像:

[Flags]
public enum SellPermissions
{
    Undefined = 0,
    Buy = 1,
    Sell = 2,
    SellOpen = 4,
    SellClose = 8
    // ...
}
Run Code Online (Sandbox Code Playgroud)

在我们的应用程序中,我有一个编辑权限页面,然后我用它来修改此枚举的值,使用不同枚举值的按位OR.

permissions = SellPermisions.Buy | SellPermissions.Sell;
Run Code Online (Sandbox Code Playgroud)

现在,在进行这些更改之后,在我的数据库调用中,我需要调用一个期望整数值的更新/插入sproc.

如何从我的枚举/标志中取回整数按位值,以便在数据库中设置修改后的权限?

c# enums bit-manipulation bitmask

3
推荐指数
1
解决办法
982
查看次数

标签 统计

bit-manipulation ×1

bitmask ×1

c# ×1

enums ×1