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? 操作数。

posted @ 2021-09-06 17:03  小林野夫  阅读(89)  评论(0编辑  收藏  举报
原文链接:https://www.cnblogs.com/cdaniu/