物产
public class student
{
public int id { get; set; }
public mark mark { get; set; }
}
public class mark
{
public int value { get; set; }
}
我正在如下创建对象
student x=new student();
x.id=1 --> default value 0
但是当我访问x.mark.value时会抛出异常(x.mark为null)
默认情况下不启动吗?任何原因?
最佳答案
自动属性的默认值为default(T)
,其中T
是类型。由于任何引用类型的默认值为null
,因此mark
为null。值类型永远不能为null,正如您所注意到的,default(int)
是0
。
关于c# - C#中自动实现的属性默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21475036/