基本和C++一致, 只記了與C++不太一樣的一些要點。
1 C#類型分為實值型別和參考型別,實值型別變數儲存資料,參考型別變數儲存對實際資料的引用。
2 所有的實值型別均隱式派生自Object類, 其包括bool類型,numeric類型,enum類型以及struct類型。
3 參考型別的變數又稱為對象,其包括:
Object基類: 基於.NET架構的System.Object, 可接受任何類型的值
string:Unicode字串, 可用 ""或@"",引出字串。
class: C#只允許類的單繼承
interface:一個類可以實現一個以上的介面
delegate:相當於C中的函數指標
4 如果隱式類型轉換時會引起資訊丟失,編譯器會報錯, 此時應使用顯示類型轉換截斷資料。
5 C#數組與C中一樣都是以0開始索引的, 但其也有不少不同點
1) 聲明數組時, []在類型標識符的後面, 而不是變數名的後面。
int [] Array; not int Array[];
2) 聲明數組後必須對其進行建立
int [] Array;
Array = new int[100];
not int [100] Array;
3) 一維數組與二維數組
int [] Array = new int[3]{1, 2, 3};
int [,] Array = new int[2,3]{{1,2,3},{4,5,6}};
4) 多維陣列和交叉數組
多維陣列: int [,,] Array = new int[1,2,3]; Array[0,0,0] = 10
交叉數組是元素為數組的數組:
int [][] myintarray = new int[3][];
myintarray[0] = new int[2];
myintarray[1] = new int[3];
myintarray[2] = new int[4];
myintarray[0][1] = 9; // not myintarray[0,1] = 9
5) 所有數組都派生自system.Array, 其有length屬性返回數組長度,另外可以用foreach來遍曆數組元素.
foreach(int i in Array)
{System.Console.WriteLine(i);}
6 checked & unchecked運算子
提供溢出檢查。如:
byte var = 255;
checked { var++; }會拋出OverflowException異常。//unchecked的話就任由其溢出。