回覆列表
  • 1 # 答題玉女心

    const 的概念就是一個包含不能修改的值的變數。常數表示式是在編譯時可被完全計算的表示式。因此不能從一個變數中提取的值來初始化常量。如果 const int a = b+1;b是一個變數,顯然不能再編譯時就計算出結果,所以常量是不可以用變數來初始化的。readonly 允許把一個欄位設定成常量,但可以執行一些運算,可以確定它的初始值。因為 readonly 是在計算時執行的,當然它可以用某些變數初始化。readonly 是例項成員,所以不同的例項可以有不同的常量值,這使readonly更靈活。readonly 關鍵字與 const 關鍵字不同。1. const 欄位只能在該欄位的宣告中初始化。readonly 欄位可以在宣告或建構函式中初始化。因此,根據所使用的建構函式,readonly 欄位可能具有不同的值。2. const 欄位是編譯時常數,而 readonly 欄位可用於執行時常數。3. const 預設就是靜態的,而 readonly 如果設定成靜態的就必須顯示宣告。4.const 對於引用型別的常數,可能的值只能是 string 和 null。readonly可以是任何型別總結const只能在初期就使用常量初始化好。對於每一次編譯後的結果,const的值是固定的,而readonly的值是可以在執行的時候才確定值的~~

  • 中秋節和大豐收的關聯?
  • 大家認為什麼樣的軟體最搞笑?