常量字段:
1.由const修饰的为常量数据。
2.常量数据必须在定义是给出初始的值。
3.常量数据默认是静态的。
例如:public const double PI=3.14;
之后就不能修改了。如果出现 PI=222;那就会报编译出错。
只读字段:
1.由readonly修饰的。
2.不一定要在定义的时候就给出初始值,可以在构造函数在中给出。也只有这两种情况可以给出readonly的初始值。
3.只读字段并不是默认静态的。
例如:可以 public readonly double PI=3.14;
也可以 public readonly double PI;
public mathPI(){
PI = 3.14;
}
就只有这两种情况,其他地方都不能赋值。例如:
public void mathPI(){ PI = 3.14;} 这样就会报编译错误。
刚说了只读字段不是默认静态的,所以如果要从类级别公开使用只读字段,那么要显式加上static关键字。
例如:public static readonly double PI=3.14;
这样的话就跟之前常量字段很像了。当然如果要先定义,然后到构造函数中去赋初值的话,那么就必须使用静态构造函数了。
例如:static math(){
PI=3.14159;
}
好了。回忆回忆。可以沉淀沉淀。