我不明白这段代码发生了什么:
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.Value16,则不正确。
如果_value是 4103 但是item.Value256,则不正确。
如果_value是 4103 但是item.Value512,则不正确。
如果_value是 4103 但是item.Value1024,则不正确。
如果_value是 4103 但是item.Value2048 则不正确。
如果_value是 4103 但是item.Value4096,这是真的。
在另一个示例中,我看到以下内容:
如果_value为 51 但item.Value为 0,则为真。
如果_value为 51 但item.Value为 1,则为真。
如果_value是 51 但item.Value为 2,则为真。
如果_value是 51 但是item.Value4,则不正确。
如果_value是 51 但是item.Value8,那不是真的。
如果_value是 51 但是item.Value16,这是真的。
如果_value是 51 但是item.Value32,这是真的。
有人可以向我解释一下吗?