Lia*_*iam -5 c# bit-manipulation enum-flags
所以我有一个标志枚举
public Enum test
{
test1 = 1,
test2 = 2,
test3 = 4,
etc.
}
Run Code Online (Sandbox Code Playgroud)
如何测试那一位,只设置一位?
我以前100%完成了这个,但是我的思绪不是这样的!
spe*_*der 13
要检查数字中是否只设置了一个位,该数字必须(根据定义)为2的幂.因此,您可以使用以下内容进行测试:
int intVal = ((int)myEnumFlags);
bool singleBitIsSet = intVal != 0 && (intVal & (intVal-1)) == 0;
Run Code Online (Sandbox Code Playgroud)
这是我最喜欢的参考资料: