1、在字串前加乙個@字元,「」中特殊字元可以不用轉義
2、關鍵字checked和unchecked對表示式進行溢位檢查
3、foreach迴圈遍歷陣列
4、多維陣列宣告:[,,,]; 矩形陣列,不同維度之間用逗號隔開
5、鋸齒陣列(jagged array)宣告如下:int jaggedintarray;初始化如下:jaggedintarray=new int[2]; jaggedintarray[0]=new int[3]; jaggedintarray[1]=new int[4];
遍歷時必須迴圈遍歷每個子陣列和陣列本身。
7、委託是一種可以吧引用儲存為函式的型別,一般用於事件和事件處理
定義:delegate void processdelegate(double param1);
宣告乙個函式 void delegatefunction(double param1)
呼叫:processdelegate process=new processdelegate(delegatefunction); process(param1);
predicate 泛型委託
表示定義一組條件並確定指定物件是否符合這些條件的方法。此委託由 array 和 list 類的幾種方法使用,用於在集合中搜尋元素。
public delegate bool predicate(t obj);
型別引數介紹:
t:要比較的物件的型別。
obj:
要按照由此委託表示的方法中定義的條件進行比較的物件。
返回值:如果
obj符合由此委託表示的方法中定義的條件,則為
true
;否則為
false
。8、基類可以定義為抽象類,抽象類不能直接例項化;
9、預設情況下,類宣告為內部的,可以使用internal修飾符顯示指定,只有當前專案才可以訪問。public指定的為公共類,其他專案**也可訪問;abstract 抽象類,不能例項化,只能繼承,可以有抽象成員;sealed 密封類,不能繼承,對密封類的例項的虛函式可轉換為非虛函式來處理。
10、c#類定義中,只能有乙個基類,如果繼承了乙個抽象類,必須實現繼承的所有抽象成員。編譯器不允許派生類的可訪問性高於基類,即內部類可繼承公共基類,但公共基類不能繼承內部類。c#所有類都繼承於system.object類。
11、結構型別是值型別(深度複製),而類是引用型別(淺複製、指標)
12、類中屬性可使用訪問器get/set訪問
13、隱藏基類方法,可以在方法前加new關鍵字顯示隱藏:例:new public void func(){}
14、可以使用base關鍵字訪問基類方法
15、比較:
1)型別比較:
(1)gettype()方法或typeof()運算子;
(2)is運算子:檢查物件是否給定型別或是否可以轉換為給定型別,語法如下:is ;
(3)封箱(boxing)和拆箱(unboxing)
物件導向中封箱是指將非物件型別的數值或資料報裝成物件型別;拆箱是指將物件型別轉換為非物件的數值或資料。
c#中封箱是指將值型別轉換為system.object型別或有值型別實現的介面型別;拆箱與之相反。封箱是隱式轉換,而拆箱需要手動顯示轉換。
例:如下結構型別:
//定義結構體
struct mystruct
mystruct valtype1=new mystruct(); //定義變數valtype1
valtype1.val=5; //賦值
object reftype=valtype1; //封箱
mystruct valtype2=(mystruct)reftype; //拆箱
也可以把值型別轉換為介面型別,但要實現該介面,舉例如下:
inte***ce myinte***ce
struct mystruct:myinte***ce
mystruct valtype1=new mystruct();
myinte***ce reftype=valtype1; //封箱
mystruct valtype2=(mystruct)reftype; //拆箱
封箱的作用:
保證項的型別是object的集合(如arraylist)中使用值型別;
有乙個內部機制允許在值型別上呼叫object方法,如int和結構。
2)值比較
16、轉換:as運算子把一種型別轉換為指定的引用型別,不能正常轉換則返回null。語法如下:as
適用情況:1)的型別是型別;2)可隱式轉換為型別 ;3)可封箱到型別
17、集合
system.collections命名空間提供介面
arraylist:collection base類,這個抽象類提供了集合類的許多實現方式,可以繼承該類實現自己的集合類
ilist
idictionary:關鍵字值集合,基類dictionarybase
迭代器:ienumerable介面負責使用foreach迴圈,呼叫getenumerator()獲取乙個ienumerator引用,e.movenext()方法遍歷,e.current屬性獲取物件的引用
C 基礎總結
1.類的介面呼叫順序不能規定順序 即以任何順序呼叫都不應發生異常。2.當乙個類的物件超出其作用域時,編譯器即會呼叫其析構函式.cout end 在cout end 之前,會看到類test的析構函式的輸出.由彙編 也可看出test test 的呼叫.3.string string的c str 實際上返...
c 基礎總結
一 c 程式結構 命名空間 c 程式是利用命名空間組織起來的。如果要呼叫某個命名空間中的類或者方法,首先要使用using 指令來引入命名空間,using指令的基本形式為 using 命名空間 eg 類 類是一種資料結構,它可以封裝資料成員 函式成員和其他成員 類修飾符 class 類名 main方法...
C 基礎總結
explicit 函式棧框架 decltype推導四準則 通用引用 型別轉換 系統呼叫 函式指標作用 typedef const double p fun const double d p fun是一種typename,而不是函式指標 void fun int arg void void 返回值為v...