const與readonly的區別

2022-02-20 12:51:58 字數 537 閱讀 6052

const與readonly總結如下:

1.const和readonly在指定初始值以後將可讀不可寫

2.const是編譯時常量,readonly是執行時常量.

因此const只能在該字段的宣告中初始化,而readonly欄位可以在宣告或建構函式中初始化,因此根據建構函式的不同,readonly可能有不同的值

例如:

const int a = b+1;   b如果是乙個變數,顯然不能再編譯時就計算出結果,所以常量是不可以用變數來初始化的。

b如果是乙個const常量,在編譯的時候就會有乙個明確的值,所以這句話就是正確的

3.const預設是靜態的,是乙個物件成員,readonly預設是乙個例項成員

const成員是乙個類得成員,引用方式為:類.成員   readonly為物件例項.成員

static readonly為類成員引用方式:類.成員

4.const對於引用型別來講只能是string和null,readonly可以是任意的型別

5.const的效率較高,readonly比較靈活

const與readonly的區別

readonly 關鍵字與 const 關鍵字不同。1.const 字段只能在該字段的宣告中初始化。readonly 字段可以在宣告或建構函式中初始化。因此,根據所使用的建構函式,readonly 字段可能具有不同的值。2.const 欄位是編譯時常數,而 readonly 欄位可用於執行時常數。3...

const與readonly的區別

a.const 關鍵字用於修改欄位或區域性變數的宣告。它指定欄位或區域性變數的值不能被修改。常數宣告引入給定型別的乙個或多個常數。const 資料成員的宣告式必須包含初值,且初值必須是乙個常量表示式。因為它是在編譯時就需要完全評估。const 成員可以使用另乙個 const 成員來初始化,前提是兩者...

Const 與 Readonly 使用總結

在以往的開發過程中一直使用const來定義常量,很少注意到readonly的使用,因為總感覺const的使用已經足夠了。而就在這兩天,在閱讀sqlhelper的 時,再次看到了readonly的使用,而且感覺很彆扭。如果按const來說,定義了常量後,常量在使用時是不允許再次改變的。而readonl...