第七章 常量和字段

2022-07-16 09:06:14 字數 861 閱讀 6611

目錄

7.1 常量

7.2 字段

常量是值從不變化的符號。定義常量符號時,它的值必須能在編譯時確定。確定後,編譯器將常量值儲存到程式集元資料中。意味著只能定義編譯器可以識別的基元型別常量。然而c#也可以定義非基元型別的常量變數,前提是把值設為null。

基元型別有:boolean,char,byte,sbyte,int16,int32,int64,uint16,uint32,uint64,single,double,decimal,string

由於常量值不變化,所以常量總是被視為型別定義的一部分。常量總是被視為靜態成員,而不是例項成員。定義常量將導致川建立元資料。

**引用常量符號時,編譯器在定義常量的程式集的元資料中查詢該符號,提取常量的值,將值嵌入生成的il**中。由於常量的值直接其嵌入**,所以在執行時不需要為常量分配任何記憶體。除此之外,不能獲取常量的位址,也不能以傳引用的方式傳遞常量。這些限制意味著常量不很好的支援跨程式集的版本控制。因此,只有確定乙個符號的值從不發生變化才應定義常量。

欄位時一種資料成員,其中容納了乙個值型別的例項或者對乙個引用型別的引用。

clr術語

c#術語

說明static

static

這種欄位時型別狀態的一部分,而不是物件狀態的一部分

instance

預設這種欄位時與型別的乙個例項關聯,而不是與型別本身關聯。

initonly

readonly

這種字段只能由乙個構造器方法中的**寫入

volatile

volatile

編譯器,clr和硬體不會對訪問這種欄位的**執行」執行緒不安全「的優化措施,

由於字段儲存在動態記憶體中,所以它們的值在執行時才能獲取。

第七章 常量和字段

字段修飾符 const 常量的值時在編譯時確定的,被視為型別的一部分,是靜態成員.會導致建立元資料.引用這個常量時會把這個值直接嵌入il 中.static 靜態字段,型別的一部分,占用的記憶體是在型別物件中分配的.型別物件時在該型別第一次被訪問到的時候載入的.對於例項欄位則是在建立例項時分配的.而且...

第七章 建立計算字段

本章介紹計算字段,如何建立以及從應用程式使用別名引用它們 1.我們需要直接從資料庫中檢索出轉換 計算或格式化過得資料。2.字段 field 基本上與列 column 的意思相同,經常互換使用,不過資料庫列一般稱為列,而術語字段通常用在計算欄位的連線上。3.拼接字段 拼接 concatenate 將值...

python第七章 python教程(第七章)

字典和集合 字典是python中唯一,乙個對映型別 如何建立乙個字典,如下 dict dict 滲透 網路安全 怎麼理解字典呢?現實生活中的字典可以通過首字母進行查詢要查詢的漢子,python也可以這樣理解,通過 前的元素查詢到冒號後的元素。為什麼說字典是唯一乙個對映型別呢?看圖。對映型別區別與序列...