const和readonly的區別

2021-06-20 04:59:15 字數 351 閱讀 7048

readonly表示唯讀,表示不能進行寫操作

const表示不變常量,表示不能被修改

1.都是用來標識常量

2.初始化賦值不同:const必須在宣告同時賦值、readonly還可以在建構函式中賦值

3.const是編譯時常數(編譯時直接替換),readonly為執行時常數

4.const預設為靜態,readonly預設為非靜態,要顯示宣告為static

5.const修飾值型別或引用型別,但引用型別只可以為string或值為null的引用型別,不可以修飾object,array,struct。readonly沒有限制

6.適當的情況可以用const與static readonly互換

const 和 readonly 的區別

const 和 readonly 的區別,總是不太清楚,於是查了查資料。const 的概念就是乙個包含不能修改的值的變數。常數表示式是在編譯時可被完全計算的表示式。因此不能從乙個變數中提取的值來初始化常量。如果 const int a b 1 b是乙個變數,顯然不能再編譯時就計算出結果,所以常量是不...

readonly 和const的區別

const 的概念就是乙個包含不能修改的值的變數。常數表示式是在編譯時可被完全計算的表示式。因此不能從乙個變數中提取的值來初始化常量。如果 const int a b 1 b是乙個變數,顯然不能再編譯時就計算出結果,所以常量是不可以用變數來初始化的。readonly 允許把乙個字段設定成常量,但可以...

Const和ReadOnly的區別

1.const 和readonly 都是用來表示常量的。2.初始化賦值不同 a const 必須在宣告的時候即賦值。b readonly 可以在初始化的過程中賦值。在其他地方賦值,編譯器會報錯。因此,根據所使用的建構函式,readonly 字段可以具有不同的值。3.const 是編譯時常數,而 re...