我不记得这个名字了,但我记得见过一次。我需要总结一个序列:
2:hand
5:leg
13:head
像 7 这样的数字。
然后当我得到 7 时,我知道是手+腿。如果我得到 20,我知道是手+腿+头。
这种技术叫什么名字?
你的意思是一个标志枚举?
[Flags]
enum Parts
{
Hand = 1,
Leg = 2,
Head = 4,
}
例子:
Parts p = Parts.Hand | Parts.Leg;
bool isHand = (p & Parts.Hand) != 0;
您说的是位掩码,通常使用用[FlagsAttribute]装饰的枚举来实现。这些值将是 2 的幂。
有关在 C# 中使用 [FlagsAttribute] 的说明,请参阅以下 SO 答案。
这就是子集和问题。