Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我基本上有以下几点:
int? myVal = null; myVal |= 1; bool stillNull = myVal == null; //returns true
为什么会这样?我对按位运算符/操作数行为的理解不是很强,我找不到在这种情况下不将其视为简单赋值的原因。
从文档中:
T对应的可为空值类型也支持预定义的一元和二元运算符或值类型支持的任何重载运算符T?。这些运算符,也称为 提升运算符,nullnull如果一个或两个操作数是; 否则,运算符将使用其操作数的包含值来计算结果。
T
T?
null