如何分配此枚举?每个人的价值是什么?
public enum SiteRoles
{
User = 1 << 0,
Admin = 1 << 1,
Helpdesk = 1 << 2
}
这样分配的用途是什么?
答案 0 :(得分:10)
他们正在做一点旗帜。不是将值写为1,2,4,8,16等,而是将1
值移动乘以2.可以说它更容易阅读。
它允许对枚举值进行按位运算。
1 << 0 = 1 (binary 0001)
1 << 1 = 2 (binary 0010)
1 << 2 = 4 (binary 0100)