一維陣列,多維陣列,交錯陣列;引用型別;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也提供了大量的現成介面供使用 類不能多繼承,介面可以 變數可以是介面,但是只能呼叫這個介面約定的操作 隱式介面的操作可以通過類變數進行,而顯示介面的實現,只能通過介面型別的變數進行 協變和逆變 ...