var result = myObject?.GetType();
在这种情况下,如果myObject
为空,那么结果的值是什么?
答案 0 :(得分:9)
假设您的对象未隐藏默认object.GetType
定义:GetType
返回Type
,这是一种引用类型,因此会返回null
,result
}将推断为Type
类型。
如果您的对象有一个隐藏object.GetType
的方法,它也会返回null
,但result
的推断类型可能会更改:如果您的对象推断为TResult
该方法返回引用类型TResult
,如果它返回类型Nullable<TResult>
的值类型,则返回TResult
。
答案 1 :(得分:6)
结果应为null
,因为?
运算符会使操作短路。