|
可以看到,两个操作数只要有任何一个是null,得到的结果也一定是null,不管是加减还是乘除。当然,如果操作数不是null ,则结果还是按原来操作符运算得到的结果。 在上面的代码中,如果ValC不是Nullable类型,情况会怎么样呢?如以下代码: int ValA = 10; int ValC = ValA * ValB; 两个都是null值的Nullable变量被认为是相等的,而一个值为null的变量和其它任何非null值的变量都是不相等的。如下面示例代码: int abc = 123; int? def = null; int? uvw = 123; Comparison Result abc == xyz // false abc == def // false def == null // true abc == uvw // true uvw == null // false uvw != null // true Comparison Resultabc >uvw // false, they are equal abc // false, def is null uvw // false, because def is null def >null // false, because right side is null uvw >null // false, because right side is null 移除空值 C#2.0同时也提供一个新操作符’??’用来合并空值。其语法格式如下: returnValue = first ?? second; |