資料類型(C#)
又回憶了一下C#語言的基礎知識,個人感覺無非也就分兩部分,面向過程的基礎知識,和物件導向的基礎知識,其中物件導向的部分又以類為核心延伸出了對象等一系列的知識.而面向過程則是以資料類型為基礎,加上對資料的操作組成的.這次就是來回顧一下資料類型的知識.如:
看了看其實資料類型也就這麼點東西.
下邊是實值型別:各種實值型別總是含有相應該類型的一個值
整數類型如下:
實數類型如下:
字元類型:
C#中字元型為一個單Unicode 字元。一個Unicode字元16位長,它可以用來表示世界上多種語言。可以按以下方法給一個字元變數賦值:char
chSomeChar = 'a';
需要注意的一點是不存在把char類型轉換成其它資料類型的隱式轉換。這就意味著,在C#中把一個字元變數當作另外的整數資料類型看待是行不通的;但是,可以運用顯式轉換:
char chSomeChar =(char)65;
intnSomeInt = (int)'a';
布爾(bool)類型
bool類型對應於.NET類庫中的System.Boolean結構。它在電腦中佔4個位元組,即32位儲存空間。取值只能是ture或者false,
可以賦於true或false值給一個布爾變數,或可以賦於一個運算式,其所求出的值等於兩者之一:
bool b = (80 >90);
結構類型
把一系列相關的資訊組織成為一個單一實體的過程,這就是建立一個結構的過程。
通常被用來封裝小型相關變數組,例如,矩形的座標或庫存商品的特徵。
下面的樣本顯示了一個簡單的結構聲明。
public struct Book
{
public decimal price;
public string title;
public string author;
}
枚舉類型:
主要用於表示一個邏輯相關聯的項和組合。enum
關鍵字用於聲明枚舉,即一種由一組稱為枚舉數列表的命名常量組成的獨特類型。
通常情況下,最好是在命名空間內直接定義枚舉,以便該命名空間中的所有類都能夠同樣方便地訪問它。
但是,還可以將枚舉嵌套在類或結構中。
預設情況下,第一個枚舉數的值為0,後面每個枚舉數的值依次遞增
1。
例如,下面的枚舉, Sat
是 0, Sun
是 1, Mon
是 2
等.
enum Days{Sat, Sun, Mon, Tue, Wed, Thu, Fri};
如下面的樣本所示枚舉數可用初始值來重寫預設值。
enum Days{Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
在此枚舉中,強制元素序列從 1
而不是 0
開始。
但是,一般建議包括值為 0
的常量。
每種枚舉類型都有基礎類型,該類型可以是除 char
以外的任何整型。
枚舉元素的預設基礎類型為 int。
要聲明另一整型枚舉(如 byte),請在標識符之後緊跟類型,然後再使用冒號,如下面的樣本所示。
enum Days : byte{Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
准許使用的枚舉類型有 byte、 sbyte、 short、 ushort、 int、 uint、 long 或 ulong。
注意:枚舉數的名稱中不能包含空白
下面是參考型別:和實值型別相比,參考型別不儲存它們所代表的實際資料,但它們儲存實際資料的引用
類(class)
類是一組具有相同資料結構(屬性)和相同操作(方法)的對象集合。建立類的執行個體必須使用關鍵字new來進行聲明。
(重點)類和結構之間的根本區別在於:結構是實值型別,而類是參考型別。對於實值型別,每個變數直接包含自身的所有資料,每建立一個變數,就在記憶體中開闢一塊地區;而對於參考型別,每個變數只儲存對目標儲存資料的引用,每建立一個變數,就增加一個指向目標資料的指標。
介面(interface)
應用程式之間要相互調用,就必須事先達成一個協議,被調用的一方在協議中對自己所能提供的服務進行描述。在C#中,這個協議就是介面。介面定義中對方法的聲明,既不包括訪問限制修飾符,也不包括方法的執行代碼。
(注意)如果某個類繼承了一個介面,那麼它就要實現該介面所定義的所有服務。也就是實現介面中的方法。
委託
委託用來封裝某個方法的調用過程。
委託的使用過程分為3步:
1.定義 delegate void HelloDelegate();
2.執行個體化 HelloDelegate hd = newHelloDelegate(p.Say); //p.Say調用的方法
3.調用 hd();
數組
數組主要用於同一資料類型的資料進行批量處理。在C#中,數組需要初始化之後才能使用。
如:int[] array1 =new int[3]{2,3,5};
int[] array1 ={2,3,5};
(注意)對規則多維陣列,調用Length屬性所得的值為整個數組的長度;而調用其GetLength方法,參數為0時得到數組第1維的長度,為1時得到數組第2維的長度,以此類推。而對於不規則多維陣列,調用Length屬性和以0為參數調用其GetLength方法,得到的都是第一維的長度。