类里的字段调用
class PeoPle
{
private DateTime birthday1;//有static 就不会出错。
private DateTime birthday2;
int age =DateTime.Now.Year - birthday1.Year;// 红色字体会出错,为什么?(2)为什么给birthday1加上static就不会出错。
public void GetAge()
{
age = DateTime.Now.Year - birthday2.Year;//为什么这里引用就不会出错?
}
}
------最佳解决方案--------------------说的很清楚了呀,字段初始值无法引用非静态字段、方法、或属性。
第一种,你的 int age是类里的字段,在定义的时候对它赋初值,而 private DateTime birthday1也是类的字段,于是,对age的赋初值不可以引用非静态字段birthday1,如果加上static,那么birthday1就是静态字段了,就可以在字段赋初值时引用。
第二种,你是在方法里写的,已经不是字段赋初值啦~~~可以随便用
------其他解决方案--------------------类里只能用静态的方法字段
后面的birthday 已经是在方法里了 可以直接用