C# 经典实例 第一章 类和泛型 #1.19 以更简洁的方式检查null值

问题:

你不断地编写笨拙的if-then 语句来判断一个对象是否为null。你需要一种更简洁、更简单的方式来编写这类代码。

解决方案:

使用C# 6.0 中新引入的null 条件运算符。在过去,通常需要在使用对象前进行检查以确保对象不为null。

if (val != null)
{
    val.Trim().ToUpper();
    ...  
}

现在你可以简单地使用null 条件运算符。

val?.Trim().ToUpper(); 

这一简化的语法判断val 是否为null;如果是,那么将不会调用Trim 和ToUpper 方法,也就不会引发讨厌的NullReferenceException。如果val 不是null, 则将调用Trim 和ToUpper 方法。

在使用点运算符将一系列对象成员访问链到一起时,也可以使用null 条件运算符测试每个对象是否为null。

Person?.Address?.State?.Trim(); 

在这种情况下,如果前面三个对象(Person、Address 和State)中任何一个为null,点运算符将不再对null 对象进行调用,此表达式的执行也会终止。

null 条件运算符不仅可以用于常规对象,也可以用于数组和索引以及返回的索引元素。例如,如果val 的类型是string[],这行代码将检查val 变量的值是否为null。

val?[0].ToUpper(); 

然而下面这行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值