建議6 區別readonly和const的使用方法

2021-07-31 13:31:14 字數 637 閱讀 3907

區別

const是乙個編譯期常量,readonly是乙個執行時常量。

const只能修飾基元型別,列舉型別和字串型別,readonly沒有限制。

const變數的效率高,是因為經過編譯器編譯後,我們在**中引用const變數的地方都會用const變數所對應的實際值來代替

const int constvalue=100;// const 預設是靜態的

console.writeline(constvalue); //il**是console.writeline(100);

readonly賦值行為發生在執行時,它在執行時第一次被賦值後將不可以改變。

readonly另乙個靈活之處在於可以為每個例項指定不同的值:

sample s1=new sample(100);

sample s2=new sample(200);

sample s3=new sample(300);

public class sample

}

總結

readonly 操作靈活。

const 效率高

建議6 區別readonly和const的使用方法

很多初學者分不清這兩者的使用場合。在我看來,要使用const的理由只有乙個,那就是效率。但是,大部分情況下,效率並沒有那麼高的地位,所以我更願意採用readonly,因為readonly賦予 更多的靈活性。它們的本質區別如下 1 const是應該編譯期常量,readonly是乙個執行時常量。2 co...

c和c 的一點區別

1 c和c 的標頭檔案不同 c的標頭檔案 include c 的標頭檔案 include 2 輸入輸出不同 輸入 int i 10 c scanf d i 需要注意輸入的變數型別 c cin i 不需要注意變數型別 輸出 c printf d n i 需要注意輸出的變數型別 c cout 3 變數的...

C和C 的一點小區別

編譯時不能確定的值不要放在全域性局域初始初始化,否則c編譯器會報警告或者錯誤 報錯情況 include includeint add int a int b const int c add 1,2 編譯時不能確定值 int main 以上編譯時候會報錯 root localhost samba sh...