Clr via C 讀書筆記 Cp16陣列

2022-01-15 19:17:36 字數 516 閱讀 1460

一維陣列,多維陣列,交錯陣列;引用型別;p338的圖非常的清楚地描述了值型別和引用型別在託管堆中的關係;越界檢查;

陣列初始化器;

四種寫法

string names = new string ;  

var dogs = new string ;

var cats = new ;

string datas = ;

陣列型別必須維數相同,且值型別不能轉換成其他型別;

array.copy

陣列的協變

定義了很多有用的靜態方法

所以也就可以提供這些介面對應的操作。

傳遞的是引用,所以被改的是本身;

array.copy執行的是淺拷貝;

返回資料型別最好返回乙個全新的陣列,涉及到訪問許可權控制;

不要返回null,返回0個元素的陣列;

createinstance方法

0基的效能好於非0基,實際上非零基的很少用;

這部分了解即可

Clr via C 讀書筆記 Cp10屬性

屬性的本質就是方法,只是看起來像字段罷了 就是一般屬性 字段一般要private,然後通過設定訪問方法 訪問器來訪問 屬性是方法語法變種 getset不一定要訪問支援字段 編譯的時候會自動生成對應的方法和對映關係 可以為以後建立複雜一點的屬性做好佔位,隨時更換。作者不喜歡自動屬性 作者甚至不喜歡屬性...

Clr via C 讀書筆記 Cp12泛型

generic system.collections.generic 開放型別,封閉型別 每個封閉型別都有自己的靜態成員 新的型別派生自泛型型別派生的那個類 實參指定和派生層次沒有關係 使用using和區域性隱式型別來解決 了解就可以了 擁有泛型的那些好處 類似泛型介面 不變數 泛型型別引數不能更改...

Clr via C 讀書筆記 Cp13介面

介面只提供簽名,不提供實現 等效於契約 凡事能使用具名介面的地方都能夠使用實現了的介面。定義很簡單,fcl也提供了大量的現成介面供使用 類不能多繼承,介面可以 變數可以是介面,但是只能呼叫這個介面約定的操作 隱式介面的操作可以通過類變數進行,而顯示介面的實現,只能通過介面型別的變數進行 協變和逆變 ...