第八章 常數與字段
一、常數
1、可被定義為常數的類型有:
2 基元類型:Boolean, Char, Byte, SByte, Decimal, Int16, Int32, UInt16, UInt32, Int64, UInt64, Single, Double
2 字符串:String
2 枚舉類型
2、常數在編譯后直接嵌入IL代碼中,因此一個模塊中的常數不能在運行時被另一模塊獲取,前者對常數進行的修改無法被另一個模塊在運行時感知,因此要想在運行時獲取“不變數值”應該使用只讀字段
二、字段
1、字段(包括靜態、實例或只讀字段)均在運行時分配內存
2、只讀字段只能在構造器中被符值(也可在聲明時被直接賦值,其他地方均不允許,實際上同于在構造器中賦值),靜態只讀字段在類型構造器中賦值,實例只讀字段在實例構造器中被符值。
3、靜態只讀字段只能使用類型名訪問,而不能使用實例引用訪問
三、靜態只讀字段和常數的區別:
1、常數直接編譯時刻嵌入IL代碼,在運行時不可重新讀取,靜態只讀字段則可以在運行時重新讀取
2、常數只能在聲明處賦值,而靜態只讀字段則可在構
|