C#6空传播对象为空时设置什么值
在这种情况下,如果C#6空传播对象为空时设置什么值,c#,c#-6.0,null-propagation-operator,C#,C# 6.0,Null Propagation Operator,在这种情况下,如果myObject为null,结果的值会是多少?假设您的对象没有隐藏默认的对象。GetType定义:GetType返回Type,这是一种引用类型,因此将返回null,而结果将被推断为类型 如果您的对象有一个隐藏对象.GetType的方法,它也将返回null,但为结果推断的类型可能会更改:如果该方法返回引用类型TResult,则它将是TResult,或者Nullable如果它返回类型为TResult的值类型,则结果应该是null,因为?运算符会使操作短路。请看我在上的文章。在那里,
myObject
为null,结果的值会是多少?假设您的对象没有隐藏默认的对象。GetType
定义:GetType
返回Type
,这是一种引用类型,因此将返回null
,而结果
将被推断为类型
如果您的对象有一个隐藏
对象.GetType
的方法,它也将返回null
,但为结果
推断的类型可能会更改:如果该方法返回引用类型TResult
,则它将是TResult
,或者Nullable
如果它返回类型为TResult的值类型,则结果应该是null
,因为?
运算符会使操作短路。请看我在上的文章。在那里,我展示了幕后发生的事情。
var result = myObject?.GetType();