物产

 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/

10-12 17:53