作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如果我有一个可以同时存在多个值的枚举,我会创建一个 Flags 枚举:
[Flags]
public enum Foo
{
None = 0,
A = 1,
B = 2,
C = 4,
D = 8
}
如果我现在想传递每个值都已设置的事实,我将不得不这样做:
Bar bar = new Bar(Foo.A | Foo.B | Foo.C | Foo.D);
添加一个额外的元素 All 会被认为是不良做法/有害/亵渎吗?
All = 15
当有很多值并且将它们全部传递是一种常见情况时,这将节省一些空间和时间。
据我了解标志枚举 (=bitfields) 的机制,这应该可行。是否有任何我遗漏的副作用或您不应该这样做的其他原因?
最佳答案
你可以做到。但也许你不应该使用值 15,而是
All = A | B | C | D
关于c# - 可以将 "All"项添加到 Flags 枚举吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10806984/
我是一名优秀的程序员,十分优秀!