C# 6 空传播当对象为空时设置什么值

标签 c# c#-6.0 null-propagation-operator

var result = myObject?.GetType();

在这种情况下,如果 myObject 为 null,Result 的值是什么?

最佳答案

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

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

关于C# 6 空传播当对象为空时设置什么值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34056307/

相关文章:

c# - C# 6.0 中的只读属性

c# - 等待空传播 System.NullReferenceException

罗斯林 C#6 ?泛型类型中的运算符编译看起来很困惑

c# - 使用扩展方法修改字符串实例变量

c# - 在哪里可以找到 C# 语言规范 6.0?

c# - 过滤异常处理程序中的代码在访问异常时抛出 NullReferenceException

c# - "nullify"数组元素存在的空条件运算符

c# - Json.net:序列化/反序列化不适用于具有循环引用的 ISerializable 对象

c# - 在 LINQ select 中更改变量

c# - Java 后端和 C# 前端如何工作?