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