標籤:
C#是強型別語言,因此每個變數和對象都必須具有宣告類型。資料類型可描述為內建資料類型(如int或char),使用者定義資料類型(如class或interface)。資料類型還可以定義為實值型別(用於儲存值),參考型別(用於儲存對實際資料的引用)。
實值型別
實值型別的內容儲存在堆棧分配的記憶體中,如果一個變數是使用基本的內建資料類型之一或使用者定義的結構進行聲明的,則該變數為實值型別。但string資料類型除外,它是參考型別。C#實值型別分為簡單類型,結構類型和枚舉類型。
1.簡單類型
C#提供了一組已經定義好的簡單類型,分為整型,布爾類型,字元類型和實數類型。
2.結構類型
C#中的結構與類相似,但缺乏某些功能,例如繼承。另外,由於結構是一個實值型別,因此通常建立結構要比建立類的速度快。
在程式設計中,經常把一組相關的資訊放在一起,。把一系列相關的變數組成一個單一的實體,這個單一的實體類型叫做結構。結構類型採用關鍵字struct進行聲明。
3.枚舉類型
枚舉類型(也稱為枚舉)為定義一組可以賦給變數的命名整數常量提供了一種有效方法。聲明枚舉類型用enum開頭。例如:enum weekday{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};
枚舉類型的元素使用的類型只能是long,int,short,byte。預設類型是int,且第一個元素的值是0,每一個連續的元素按1遞增。枚舉元素值可以改變。例如:enum weekday{Sunday=1,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};
參考型別
參考型別的變數不直接儲存所包含的值,而是儲存所要儲存值的地址。C#中的參考型別包括四種:類,數組,代表和介面。
裝箱和拆箱
裝箱是將實值型別轉換為參考型別的過程。裝箱某個變數,就是建立一個引用變數,使它指向堆上的新副本。
拆箱,從對象中提取實值型別,即將參考型別轉換為實值型別。
C#程式設計基礎——資料類型