关于这里未定义的属性为什么值是0?
来源:4-7 【操作】构造函数的继承
慕莱坞0998854
2022-12-25
老师你好,在本节中,出现了这么一个情况,对于Staff这个类,我们没有给Number这个属性赋初始值,这时候打印出来是0,老师说到:“一般来说,整数对象在没有赋值的时候,它就是0”,请问这句话怎么理解?我后来尝试了string类型和bool类型,发现他们似乎也有默认值,分别是""和false, 在别的语言中,可能会强制要求我在定义基本类型的属性的时候必须加上初始值,C#是不是自动帮我们做好了?
public class Staff
{
public int Number { get; set; }
public Staff()
{
Console.WriteLine("员工类初始化");
}
public Staff(int number)
{
Number = number;
}
}
写回答
1回答
-
阿莱克斯刘
2022-12-28
对,c#、java以及python这类稍微高级一点的语言,在声明基本数据类型的时候会自动初始化默认的数据,比如说int类型模式值为0、string默认值""、bool默认值为false。但是请注意,在c/c++中没有默认的初始化值,在声明变量时,比如声明一个int会赋一个随机数据(其实就是上次内存使用的遗留数据)。00
相似问题