官术网_书友最值得收藏!

  • 零基礎C#學習筆記
  • 明日科技編著
  • 660字
  • 2021-03-12 20:00:57

3.4 常量

通過對前面的學習,我們知道了變量是隨時可以改變值的量,那么,在遇到不允許改變值的情況時,該怎么辦呢?這就需要用到本節(jié)要講解的常量。

3.4.1 常量是什么

img

常量就是在程序運行過程中,值不能改變的量。比如,現(xiàn)實生活中的居民身份證號碼、數(shù)學運算中的π 值等,這些都不會發(fā)生改變,它們都可以定義為常量。常量可以區(qū)分為不同的類型。例如,98、368 是整型常量;3.14、0.25 是實數(shù)常量,即浮點類型的常量;'m'、'r' 是字符常量。

3.4.2 常量的分類

img

常量主要有兩種,分別是const 常量和readonly 常量,下面分別對這兩種常量進行講解。

1.const 常量

在C# 中提到常量,通常指的是const 常量。const 常量也稱為靜態(tài)常量,它在編譯時值就已經(jīng)確定了。const 常量的值必須在聲明時就進行初始化,而且之后不可以進行更改。

例如,聲明一個正確的const 常量,同時再聲明一個錯誤的const 常量,以便讀者對比參考,代碼如下。

img

2.readonly 常量

readonly 常量是一種特殊的常量,也稱為動態(tài)常量。從字面上理解,readonly 常量可以進行動態(tài)賦值,但需要注意的是,這里的動態(tài)賦值是有條件的,它只能在構造函數(shù)中進行賦值,例如下面的代碼。

img

在構造函數(shù)以外的位置修改readonly 常量的值,比如,在Main 方法中進行修改,代碼如下。

img

這時再運行程序,將會出現(xiàn)如圖3.14 所示的錯誤提示信息。

img

圖3.14 在構造函數(shù)以外的位置修改readonly 常量的值時出現(xiàn)的錯誤提示信息

3.const 常量與readonly 常量的區(qū)別

const 常量與readonly 常量的主要區(qū)別如下。

(1)const 常量必須在聲明時初始化,而readonly 常量則可以在構造函數(shù)中初始化。

(2)const 常量在編譯時就被解析,即將常量的值替換成初始化的值,而readonly 常量的值需要在運行時確定。

(3)const 常量可以定義在類中或方法體中,而readonly 常量只能定義在類中。

主站蜘蛛池模板: 平塘县| 会泽县| 秦皇岛市| 威宁| 恭城| 贡嘎县| 子洲县| 宁陵县| 电白县| 龙游县| 句容市| 崇信县| 和林格尔县| 襄樊市| 吴堡县| 昌黎县| 新余市| 永登县| 长兴县| 建瓯市| 洪湖市| 梓潼县| 特克斯县| 张家口市| 都兰县| 新竹县| 江华| 香港 | 克什克腾旗| 南宫市| 循化| 德阳市| 周口市| 定襄县| 娄烦县| 西乡县| 长顺县| 鄂州市| 太原市| 合川市| 伊吾县|