可能重复:
What is the difference between const and readonly?常量与静态只读
所以从我读,在C#中,const
和static readonly
都将使得程序的执行过程中不可改变的值。
然而,应该const
与不可能永远改变量(例如PI,地球的半径,每加仑窝等)一起使用。
另一方面,static readonly
应该使用当前值恒定但未来可能会改变的值(例如,软件版本,算法中的乘数等)。
有我懂了吧?
可能重复:
What is the difference between const and readonly?常量与静态只读
所以从我读,在C#中,const
和static readonly
都将使得程序的执行过程中不可改变的值。
然而,应该const
与不可能永远改变量(例如PI,地球的半径,每加仑窝等)一起使用。
另一方面,static readonly
应该使用当前值恒定但未来可能会改变的值(例如,软件版本,算法中的乘数等)。
有我懂了吧?
我不知道关于你的第二个项目(我可能会用一个恒定的软件版本或算法...不变),但两者之间一个关键的区别:const
只能容纳基本类型,如string
, bool
或数字类型。 static readonly
可以容纳任何物体。因此,举例来说,我经常使用static readonly
存储资源,如Bitmap
对象。那些不能是const
。
哦,我明白了。我不知道 – s5s
其实这是相当重复的:http://stackoverflow.com/questions/755685/c-static-readonly-vs-const 我看到它发布之前,但它深入到它用简单的英语解释它之前 – s5s
这是一个很好的链接,特别是相对于常量和静态只读之间的差异编制第二个答案。 – Dunes