readonly 关键字与 const 关键字不同。 const 字段只能在该字段的声明中初始化。
readonly 字段可以在声明或构造函数中初始化。 因此,根据所使用的构造函数,
readonly 字段可能具有不同的值。 另外, const 字段是编译时常量,readonly
字段为运行时常量。
你应该尽量使用运行时常量。原因是变异性常量虽然性能稍微快一些。但是却没有
运行时常量那么灵活。就像第一段中所说,使用readonly时,根据使用的构造函数,
readonly字段可能具有不同的值。
编译型常量可以声明在方法中,而只读的运行时常量却不能声明在方法中。
更改一个公有的编译期常量的值应该被看作是对类型接口的修改,必须重新编译所有
引用该常量的代码。而更改只读常量的值却仅仅算作是对类型实现的修改,只需要修
改自身就可以。