bool? int?等可为空的数值类型的运算 三值逻辑
算术运算:(+,-,*,/)时,只要一个为null,则结果为null。
比较运算符: <、>、<= 和 >=,也是如此。如果一个或全部两个操作数都为 null,则结果为 false。
相等运算符: ==,如果两个操作数都为 null,则结果为 true;如果只有一个操作数为 null,则结果为 false;!=同理
三值逻辑布尔逻辑运算符:我们给这三个 值赋予一个 “权重”问题就好理解多了,true》null》false,这样的话‘|’取权重 大的,‘&’取权重小的
以下示例枚举其他组合: bool? n = null; bool? f = false; bool? t = true; Console.WriteLine (n | n); // (null) Console.WriteLine (n | f); // (null) Console.WriteLine (n | t); // True Console.WriteLine (n & n); // (null) Console.WriteLine (n & f); // False Console.WriteLine (n & t); // (null)
条件逻辑运算符 &&
和 ||
不支持 bool?
操作数。
编程是个人爱好