常量数据和只读字段
常量数据必须在声明时进行初始化,且为编译时明确的值。具有不可变性。
只读字段与常量数据相似,但不同的是只读字段可以在运行时,但只读字段只能在构造函数中进行赋值操作,其他作用域无效。
两者的比较:相同点都具有赋值后不可变性,不同点是常量数据必须在编译时明确赋值,只读字段可以在运行时赋值,常量数据是隐式的静态类型,而只读字段不是。
综合两者的特点,有static readonly double PI,既具有常量数据的静态性和只读字段的只读性,只读静态字段可以在声明时对其进行赋值,若要在构造函数中对其进行赋值则必须用静态构造函数才可以。