淺談c#中const與readonly差別。本站提示廣大學習愛好者:(淺談c#中const與readonly差別)文章只能為提供參考,不一定能成為您想要的結果。以下是淺談c#中const與readonly差別正文
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的值是可以在運轉的時刻才肯定值的~~
以上所述就是本文的全體內容了,願望年夜家可以或許愛好。