const和readonly的區別

2021-04-19 07:10:09 字數 488 閱讀 4661

這同樣是乙個面試的基礎題。可以看看學習下哦

readonly關鍵字與const關鍵字的區別:

1、const字段只能在該字段的宣告中初始化。readonly字段可以在宣告或建構函式中初始化。因此,根據所使用的建構函式,readonly字段可能具有不同的值。

2、const欄位是編譯時常數,而readonly欄位可用於執行時常數,如下例所示:

public static readonly uint l1 = (uint) datetime.now.ticks;

歸納下:不同處就在於欄位的初始化的方式不同。具體的體現方式就是上述兩點。另外什麼叫編譯時常數,什麼是執行是常數,各位應該也有乙個印象了吧。

大家都歸納下面試的問題,可以提高基礎和理解能力!請各位指點或補充下,謝謝哦。

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...