我不明白这段代码发生了什么:
if ((_value & item.Value) == item.Value)
{
item.IsSet = true;
}
在我正在查看的这个特定示例中,我看到以下内容:
如果_value
是 4103 但item.Value
为 0,则为真。
如果_value
是 4103 但item.Value
为 1,则为真。
如果_value
是 4103 但item.Value
为 2,则为真。
如果_value
是 4103 但item.Value
为 4,则为真。
如果_value
是 4103 但item.Value
为 8,则不正确。
如果_value
是 4103 但是item.Value
16,则不正确。
如果_value
是 4103 但是item.Value
256,则不正确。
如果_value
是 4103 但是item.Value
512,则不正确。
如果_value
是 4103 但是item.Value
1024,则不正确。
如果_value
是 4103 但是item.Value
2048 则不正确。
如果_value
是 4103 但是item.Value
4096,这是真的。
在另一个示例中,我看到以下内容:
如果_value
为 51 但item.Value
为 0,则为真。
如果_value
为 51 但item.Value
为 1,则为真。
如果_value
是 51 但item.Value
为 2,则为真。
如果_value
是 51 但是item.Value
4,则不正确。
如果_value
是 51 但是item.Value
8,那不是真的。
如果_value
是 51 但是item.Value
16,这是真的。
如果_value
是 51 但是item.Value
32,这是真的。
有人可以向我解释一下吗?