1
我有以下枚举:标志数是两个变量枚举
[Flags]
public enum Letter
{
NONE = 0,
A = 1,
B = 2,
C = 4,
A_B = A | B,
A_C = A | C,
B_C = B | C,
ALL = A | B | C
}
和我有下面这段代码:
Letter first = Letter.A_B;
Letter second = Letter.B_C;
如何获得标志的数量是在first
变量,而且在second
变量?
我想有结果:
Letter first = Letter.A_B;
Letter second = Letter.B_C;
int numberOfSameFlags = ...; // should return 1 in this example
Letter first = Letter.A_B;
Letter second = Letter.ALL;
int numberOfSameFlags = ...; // should return 2 in this example
我试着位操作,但我不认为我能得到这个值。
如果你想使用*仅*位运算,你可以做到这一点[这](https://stackoverflow.com/questions/3815165/how实现位数仅使用位运算符)的方式。 –