【发布时间】:2012-04-06 08:31:29
【问题描述】:
为什么人们总是使用像0, 1, 2, 4, 8 这样的枚举值而不是0, 1, 2, 3, 4?
这和位操作等有关系吗?
我非常感谢一个关于如何正确使用它的小样本 sn-p :)
[Flags]
public enum Permissions
{
None = 0,
Read = 1,
Write = 2,
Delete = 4
}
【问题讨论】:
-
我不同意欺骗投票。
-
UNIX设置权限的方式也是基于同样的逻辑。
-
@Pascal:您可能会发现了解Bitwise OR(和Bitwise AND)会有所帮助,这就是
|(和&)所代表的内容。各种答案假设您熟悉它。 -
@IAdapter 我明白你为什么会这样认为,因为两者的答案是相同的,但我认为问题是不同的。另一个问题只是要求提供 C# 中 Flags 属性的示例或解释。这个问题似乎是关于位标志的概念,以及它们背后的基本原理。
标签: c# permissions enums flags