C# 6 空传播 当对象为空时设置什么值
本文关键字:设置 什么 对象 传播 | 更新日期: 2023-09-27 18:25:22
var result = myObject?.GetType();
在这种情况下,如果 myObject
为 null,结果的值是多少?
假设你的对象不隐藏默认object.GetType
定义:GetType
返回Type
,这是一个引用类型,所以null
将被返回,result
将被推断为类型Type
。
如果你的对象有一个隐藏object.GetType
的方法,它也将返回null
,但推断result
的类型可能会改变:如果该方法返回引用类型TResult
,它将TResult
,或者如果它返回类型为TResult
的值类型,则Nullable<TResult>
。
结果应该null
,因为?
操作员会使操作短路。