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