在C# 8.0中,确实引入了针对非空值的“检查并获取”运算符。该运算符被称为“null 条件运算符”(null-conditional operator),使用问号(?)来表示。
使用该运算符可以简化对于可能为null的对象进行访问的代码。它的语法形式为:obj?.Property
或 obj?.Method()
。
当obj为null时,这个表达式的结果将会是null,而不会抛出NullReferenceException异常。当obj不为null时,将会正常访问Property或调用Method()。
这个运算符在处理嵌套的对象时尤其有用,可以避免繁琐的null检查代码。例如:
string name = person?.Address?.City;
上述代码中,如果person或Address为null,name将会是null;否则,将会获取到Address的City属性的值。
这个运算符在处理集合时也非常方便。例如:
int? count = customers?.Count();
上述代码中,如果customers为null,count将会是null;否则,将会获取到customers集合的元素数量。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云