常量与静态只读
可能重复:
const和readonly有什么区别?
因此,从我读的内容来看,在C#中, const
和static readonly
将在执行程序期间使值不可更改。
但是, const
应该用于不可能改变的数量(例如pi,地球半径,每加仑垃圾等)。
另一方面,应该使用static readonly
值,这些值当前是恒定的,但将来可能会/将会改变(例如软件版本,算法中的乘数等)。
我说得对吗?
我不知道你的第二个项目(我可能会使用常量来表示软件版本或算法常量),但是两者之间有一个关键区别: const
只能保存基本类型,例如string
, bool
或numeric类型。 static readonly
可以容纳任何对象。 因此,例如,我经常使用static readonly
来存储像Bitmap
对象这样的资源。 那些不能是const
。