C#的基础数据类型
一、概述
C# 的類型系統是統一的,因此任何類型的值都可以按對象處理。C# 中的每個類型直接或間接地從 object 類類型派生,而 object 是所有類型的最終基類。C#的數據類型主要分為三類:值類型、引用類型和指針類型(如下圖所示)。另外,指針類型只能用在不安全代碼中,本文就不做進一步的探討。
?
?值類型與引用類型的不同之處在于:值類型的變量直接包含其數據,而引用類型的變量存儲對其數據的引用,后者稱為對象(object)。對于引用類型,兩個變量可能引用同一個對象,因此對一個變量的操作可能影響另一個變量所引用的對象。對于值類型,每個變量都有自己的數據副本,對一個變量的操作不可能影響另外一個 變量。
二、值類型
所有值類型都隱式聲明了一個稱為默認構造函數的公共無參數實例構造函數。默認構造函數返回一個零初始化實例,它就是該值類型的默認值。
1、簡單類型
C#提供稱為簡單類型的預定義結構類型集。簡單類型通過保留字標識,而這些保留字只是System命名空間中預定義結構類型的別名。這里只是介紹一下常用的幾種簡單類型:
int用來定義整數,在編程最常用的數據類型,例如數量、年齡等等。
float單精度浮點型,可表示精度為7位。
double雙精度浮點型,可表示精度為15-16位。
decimal小數型是128位的數據類型,適合用于財務計算和貨幣計算。decimal類型可以表示具有28或29個有效數字。
bool類型表示布爾邏輯量。bool 類型的可能值為true和false。
char類型是字符串(string)的構成單元,比如code這個字符串是由c,o,d,e 4個字符組成的。
2、結構類型(struct)
結構類型是一種值類型,它可以聲明常量、字段、方法、屬性、索引器、運算符、實例構造函數、靜態構造函數和嵌套類型。
3、枚舉類型(enum)
枚舉類型是具有命名常量的獨特的類型。每個枚舉類型都有一個基礎類型,該基礎類型必須為 byte、sbyte、short、ushort、int、uint、long或ulong。枚舉類型的值集和它的基礎類型的值集相同。枚舉值主要為了限定變量的取值范圍。
三、引用類型
1、類類型
類類型定義包含數據成員、函數成員和嵌套類型的數據結構,其中數據成員包括常量和字段,函數成員包括方法、屬性、事件、索引器、運算符、實例構造函數、析構函數和靜態構造函數。類類型支持繼承,繼承是派生類可用來擴展和專門化基類的一種機制。
string 類型是直接從object繼承的密封類類型,用來表示一段文本,比如姓名,單位這樣的信息。
2、接口類型
?一個接口定義一個協定。實現某接口的類或結構必須遵守該接口定義的協定。一個接口可以從多個基接口繼承,而一個類或結構可以實現多個接口。
3、數組類型
?數組是一種數據結構,它包含可通過計算索引訪問的零個或更多個變量。數組中包含的變量(又稱數組的元素)具有相同的類型,該類型稱為數組的元素類型。
4、委托類型
?委托是引用一個或多個方法的數據結構。對于實例方法,委托還可引用實例方法對應的對象實例。
在 C 或 C++ 中與委托最接近的是函數指針,但函數指針只能引用靜態函數,而委托則既可以引用靜態方法,也可以引用實例方法。在后一種情況中,委托不僅存儲了一個對該方法入口點的引用,還存儲了一個對相應的對象實例的引用,該方法就是通過此對象實例被調用的。
轉載于:https://www.cnblogs.com/share-IT/p/6711443.html
總結
- 上一篇: Nginx系列1之部分模块详解
- 下一篇: C#-WebForm-★★★JQuery