我不记得这个名字,但我记得曾经见过这个名字。 我需要总结一个序列:
2:hand
5:leg
13:head
成一个像7的数字。
然后当我得到7时,我知道它是手+腿。如果我得到20,我知道它是手+腿+头。
这项技术的名称是什么?
答案 0 :(得分:3)
您的意思是Flags枚举吗?
[Flags]
enum Parts
{
Hand = 1,
Leg = 2,
Head = 4,
}
示例:的
Parts p = Parts.Hand | Parts.Leg;
bool isHand = (p & Parts.Hand) != 0;
答案 1 :(得分:2)
您正在谈论一点掩码,通常使用用[FlagsAttribute]修饰的枚举来实现。这些值将是2的幂。
有关在C#中使用[FlagsAttribute]的说明,请参阅以下SO答案。
答案 2 :(得分:1)