const:要求編譯時常量,所以不能跟new,其實也是static的;可以定義欄位和區域性變數
static readonly :執行時常量,可在靜態構造中進行賦值;只能字段
const 常量,在編譯時寫入元資料中,如果定義在另乙個dll中常量,一旦改變則必須更新被引用dll,且重新編譯當前dll。在使用enum型別是也是具有該問題。
示例:
private static readonly string _rda;
private const float pi = 3.14f;
static program()
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...