关于C#:常量与静态只读

const vs. static readonly

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
What is the difference between const and readonly?

所以从我读到的内容来看,在C中,conststatic readonly都将使一个值在程序执行期间不变。

但是,const的用量不可能改变(如π、地球半径、每加仑的垃圾量等)。

另一方面,static readonly应与当前不变但将来可能/将改变的值一起使用(例如软件版本、算法中的乘数等)。

我说得对吗?


我不知道您的第二项(我可能会在软件版本或算法中使用常量…常量),但两者之间有一个关键区别:const只能容纳基本类型,如stringbool或数字类型。static readonly可以容纳任何物体。例如,我经常使用static readonly来存储像Bitmap对象这样的资源。不能是const