mag*_*tic 4 .net c# enums enum-flags
如果我有一个可以同时出现的多个值的枚举,我创建一个Flags枚举:
[Flags]
public enum Foo
{
None = 0,
A = 1,
B = 2,
C = 4,
D = 8
}
Run Code Online (Sandbox Code Playgroud)
如果我现在想要传递每个值都设置的事实,我将不得不做这样的事情:
Bar bar = new Bar(Foo.A | Foo.B | Foo.C | Foo.D);
Run Code Online (Sandbox Code Playgroud)
添加额外元素All会被视为不良做法/有害/亵渎吗?
All = 15
Run Code Online (Sandbox Code Playgroud)
当存在大量值并且将它们全部传递时,这将节省一些空间和时间是常见的情况.
据我所知,标志枚举(=位域)的机制,这应该工作.我不知道有任何副作用或其他原因你不应该这样做吗?
你可以做到这一点.但也许你不应该使用值15,但是
All = A | B | C | D
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
191 次 |
| 最近记录: |