c#

位置:IT落伍者 >> c# >> 浏览文章

认识C#中使用Nullable类型[2]


发布日期:2023年01月11日
 
认识C#中使用Nullable类型[2]

int ValA = ;

int? ValB = ;int? ValC = ValA * ValB;

//ValC== int ValA = ;

int? ValB = null;int? ValC = ValA * ValB;

//ValC==null int ValA = ;

int? ValB = null;int? ValC = ValA + ValB;

//ValC仍然是null;

进入讨论组讨论

可以看到两个操作数只要有任何一个是null得到的结果也一定是null不管是加减还是乘除当然如果操作数不是null 则结果还是按原来操作符运算得到的结果

在上面的代码中如果ValC不是Nullable类型情况会怎么样呢?如以下代码

int ValA = ;

int? ValB = ;

int ValC = ValA * ValB;

// ValC 不是Nullable类型上面这段代码会抛出一个异常ValA * ValB的结果是null它不能被赋给一个非Nullable变量ValC因为会产生异常 关系运算

两个都是null值的Nullable变量被认为是相等的而一个值为null的变量和其它任何非null值的变量都是不相等的如下面示例代码

int abc = ;

int xyz = ;

int? def = null;

int? uvw = ;

Comparison

Result abc == xyz

// false abc == def

// false def == null

// true

abc == uvw

// true uvw == null

// false uvw != null

// true

[] [] []

               

上一篇:故障解析:.NET开发正则表达式中BUG一例

下一篇:认识C#中使用Nullable类型[3]