Clr via C 讀書筆記 Cp10屬性

2022-01-15 19:17:39 字數 441 閱讀 4021

屬性的本質就是方法,只是看起來像字段罷了;

就是一般屬性;

字段一般要private,然後通過設定訪問方法-訪問器來訪問;屬性是方法語法變種;getset不一定要訪問支援字段;編譯的時候會自動生成對應的方法和對映關係;

可以為以後建立複雜一點的屬性做好佔位,隨時更換。

作者不喜歡自動屬性;

作者甚至不喜歡屬性;

理由有點道理,不過現在c#的新特性能夠解決他所說的問題了,所以用就是了;

其實就是syntax sugar,把本來幾行的**一行給寫了;

匿名型別在型別名稱不是很重要的時候建立,唯讀,內部成員型別由編譯器推斷確定;經常和linq一起用;

system.tuple;

說實話,這個型別c#中基本沒用過,以後再仔細探索一下它的用途和場合;

索引器,可以看做是過載

**內聯;屬性不允許泛型;

Clr via C 讀書筆記 Cp16陣列

一維陣列,多維陣列,交錯陣列 引用型別 p338的圖非常的清楚地描述了值型別和引用型別在託管堆中的關係 越界檢查 陣列初始化器 四種寫法 string names new string var dogs new string var cats new string datas 陣列型別必須維數相同,...

Clr via C 讀書筆記 Cp12泛型

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

Clr via C 讀書筆記 Cp13介面

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