有没有更优雅的方法来做到这一点?
[Flags]
public enum SomeFlaggedEnum
{
Value1 = 1,
Value2 = 2,
Value3 = 4
}
private SomeFlaggedEnum _myFlags;
public bool EnabledValue1
{
set
{
if (value)
{
_myFlags |= SomeFlaggedEnum.Value1;
}
else
{
_myFlags &= ~SomeFlaggedEnum.Value1;
}
}
}
我知道可能有一个简单的答案,但我只是想多了......
编辑:正如其中一个答案所指出的,枚举是不正确的。这仅在本示例中出现,实际代码中并未出现。
最佳答案
我的意思是,你可以:
_myFlags = value ? myFlags | SomeFlaggedEnum.Value1 : myFlags & ~SomeFlaggedEnum.Value1;
但我认为你的解决方案很好。
关于c# - 根据 bool 值更改标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6958558/