readonly; static; static readonly; const
只读字段只能在初始化期间或在构造函数中赋值。Static readonly 字段非常类似const。它们之间的区别是C#编译器不回在编译时将该静态字段的值编译到代码中去(const的值在编译时直接被编译到代码中),而是在每次运行时动态解析(就像对待一个普通变量一样)。也就是说,const字段的值在编译时就已经确定了,而static readonly字段的值在运行时才确定。
常量必须在声明时初始化。
可以将字段声明为static(静态),表示该字段是类的属性,而非对象的属性。这使得调用方在任何时候都能通过类来使用字段,即使类没有任何实例。
注意:静态类和类成员用于创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立于任何对象表示的数据和行为:无论对象发生什么改变,这些数据和函数都不会随之发生变化。当类中没有依赖对象表示的数据和行为时,就可以使用静态类。