2011-11-27 89 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