gpt4 book ai didi

c# - 可以将 "All"项添加到 Flags 枚举吗?

转载 作者:太空狗 更新时间:2023-10-30 00:15:51 24 4
gpt4 key购买 nike

如果我有一个可以同时存在多个值的枚举,我会创建一个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com