tkocmathla:
C#中的模式匹配规范草案包含以下代码示例:
Type? v = x?.y?.z;
if (v.HasValue) {
var value = v.GetValueOrDefault();
// code using value
}
据我所知,Type?
表明Type
是空的,但假设x
,y
以及z
是当地居民有哪些呢x?.y?.z
是什么意思?
脱衣战士
请注意,此语言功能仅在C#6和更高版本中可用。
实际上等效于:
x == null ? null
: x.y == null ? null
: x.y.z
换句话说,这是一种“安全”的方式x.y.z
,其中沿途的任何属性都可能为null。
空关联合并运算符(??)也与此相关,该运算符提供了替代的值null
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
编辑于
我来说两句