const与静态只读

时间:2011-11-27 22:26:36

标签: c# static const readonly

  

可能重复:
  What is the difference between const and readonly?

因此,根据我的阅读,在C#中,conststatic readonly都会在程序执行期间使值不可更改。

但是,const应该使用不太可能改变的数量(例如pi,地球半径,每加仑一窝等)。

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

我做对了吗?

1 个答案:

答案 0 :(得分:32)

我不知道你的第二个项目(我可能会使用常量来表示软件版本或算法...常量)但两者之间存在一个关键区别:const只能保存基本类型等作为stringbool或数字类型。 static readonly可以容纳任何对象。因此,例如,我经常使用static readonly来存储Bitmap个对象等资源。那些不能是const