[c#] const 与 readonly

时间:2021-09-10 13:16:16

c# 中 const 与 readonly 关键字看似相同,实则不同。重点在于确定值的时间。

const

const 很简单,就是一个常量,不可以被 static 修饰,因为被 const 修饰的字段自动成为静态字段,其值是在编译时可以确定的。

readonly

readonly 可以修饰实例字段(不被 static 修饰的字段),也可以修饰静态字段(被 static 修饰的字段)。意指为“只读”。其值确定的时间在类的构造函数中。

总结

关键字 确定值的时机
const 编译时
readonly 调用构造函数时