为什么这个按位OR在一个可空的int上返回null ?
本文关键字:int 返回 null 一个 OR 为什么 | 更新日期: 2023-09-27 18:17:59
我基本上有以下内容:
int? myVal = null;
myVal |= 1;
bool stillNull = myVal == null; //returns true
为什么会这样?我对按位操作符/操作数行为的理解不是很强,在这种情况下,我找不到它不被视为简单赋值的理由。
来自文档:
预定义的一元和二元操作符或任何重载操作符值类型
T
所支持的对应的可空值类型T?
。这些操作符,也称为提升运算符、如果一个或两个操作数为null
,则产生null
;否则,则使用其操作数中包含的值计算结果。