我有来自 cpp 源的给定条件。
if (!(faces & activeFace) || [...]) { ... }
我想把它翻译成 C#。
当我理解这一点时,这意味着if activeFace is *not* in faces then...
- 不是吗?
那么 C# 中的等价物是什么?
注意:我不能使用faces.HasFlag(activeFace)
那应该是
if ((faces & activeFace) == 0 || [...]) { ... }
我对吗?
为了完整起见,实际的 Flag 枚举
[Flags]
enum Face {
North = 1,
East = 2,
South = 4,
West = 8,
Top = 16,
Bottom = 32
};
那么在cpp中也是一样的,你只需要[Flags]
在C#中添加一个属性