2011-11-27 91 views
13

可能重复:
What is the difference between const and readonly?常量与静态只读

所以从我读,在C#中,conststatic readonly都将使得程序的执行过程中不可改变的值。

然而,应该const与不可能永远改变量(例如PI,地球的半径,每加仑窝等)一起使用。

另一方面,static readonly应该使用当前值恒定但未来可能会改变的值(例如,软件版本,算法中的乘数等)。

有我懂了吧?

+0

其实这是相当重复的:http://stackoverflow.com/questions/755685/c-static-readonly-vs-const 我看到它发布之前,但它深入到它用简单的英语解释它之前 – s5s

+0

这是一个很好的链接,特别是相对于常量和静态只读之间的差异编制第二个答案。 – Dunes

回答

29

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

+1

哦,我明白了。我不知道 – s5s