6
var result = myObject?.GetType();

在这种情况下,如果myObject为空,Result 的值是多少?

4

2 回答 2

9

假设你的对象没有隐藏默认object.GetType定义:GetTypereturns Type,这是一个引用类型,所以null会被返回,并且result会被推断为 type Type

如果你的对象有一个隐藏的方法object.GetType,它也将返回null,但推断的类型result可能会改变:TResult如果该方法返回引用类型TResult,或者Nullable<TResult>它返回一个类型的值类型TResult

于 2015-12-03T01:30:35.250 回答
6

结果应该是null因为?操作者短路了操作。

于 2015-12-03T01:37:06.850 回答