var result = myObject?.GetType();
在这种情况下,如果myObject
为空,Result 的值是多少?
var result = myObject?.GetType();
在这种情况下,如果myObject
为空,Result 的值是多少?
假设你的对象没有隐藏默认object.GetType
定义:GetType
returns Type
,这是一个引用类型,所以null
会被返回,并且result
会被推断为 type Type
。
如果你的对象有一个隐藏的方法object.GetType
,它也将返回null
,但推断的类型result
可能会改变:TResult
如果该方法返回引用类型TResult
,或者Nullable<TResult>
它返回一个类型的值类型TResult
。
结果应该是null
因为?
操作者短路了操作。