C#與C及OC的不同點
阿新 • • 發佈:2019-02-20
其實熟悉這些語言的朋友們深知,這幾個語言完全沒有可比性。
由於工作需要,最近需要重溫C#語言,難免會受到C和OC的基礎知識影響。
此篇是本人的一個學習筆記,僅此獻給有C/OC基礎,需要繼續學習C#的朋友們。
今後不斷更新,歡迎大家補充修正(最後更新日期:2014.11.6)
第1講 基礎:常量 變數 運算子 表示式 語句 ***** C#提供的基本型別更多,劃分更細 ***** C#裡bool型別就是bool型別,嚴格區別於整形 ***** C#中的控制檯輸入都是字元流,獲取其它型別需要用Parse方法轉化 int a = int.Parse(Console.Readline());建構函式(Constructor)
解構函式
常量(Const)
欄位(Field)
方法(Method)
屬性(Property)
索引器(Indexers)
運算子(Operator)
事件(Event)
委託(Delegate)
類(Class)
介面(Interface)
結構(Struct) ***** C#裡的修飾符特別豐富、可以修飾好多東西 1.訪問級別、控制有效範圍和許可權的:public protected private internal 2.控制記憶體分配區域的:static const 3.宣告函式引數的:ref out params 4. 虛實:virtual http://msdn.microsoft.com/zh-cn/library/9fkccyh4.aspx ***** 訪問許可權
在其他選件類中可以直接在名稱空間內宣告的選件類,未巢狀,可以是 公開 或 內部。 預設情況下選件類是 internal。
類成員,包括巢狀選件類,可以是 公開、protected internal、保護、內部或 專用。 預設情況下成員是 專用。
http://msdn.microsoft.com/zh-cn/library/0b0thckt.aspx ***** C#的屬性 可以是隻寫的 在欄位的基礎上建立,屬性開頭字母是大寫的 ***** C#的函式只能在類裡面定義 ***** C#有密封類 ***** C#有base語句 建構函式可以使用 base 關鍵字來呼叫基類的建構函式。 http://msdn.microsoft.com/zh-cn/library/ms173115.aspx 第7講 方法(函式) ***** C#的方法只能出現在類和結構體裡 ***** C#裡有方法簽名的概念 方法名 引數 及 引數型別 http://msdn.microsoft.com/zh-cn/library/ms173114.aspx ***** C#的函式引數是有修飾符的 ref:引用引數 out:輸出引數 params:一維陣列 ***** C#通過解構函式釋放記憶體資源 ***** C#有虛方法 http://msdn.microsoft.com/zh-cn/library/9fkccyh4.aspx ***** C#中稱之為方法簽名 第8講 面向物件 ***** C#中有繼承關係的兩個類分別叫基類和派生類 當基類將方法宣告為 virtual 時,派生類可以用自己的實現重寫該方法。 http://msdn.microsoft.com/zh-cn/library/ms173149.aspx?sentenceGu=431ef25c6bea78755c146f18e5e213ae#mt9 ***** C#的多型比較多型,有多種實現方式 第9講 靜態類和抽象類 ***** 靜態類和抽象類是C#獨有的第10講 介面和泛型 ***** C#的介面類似OC的協議
http://blog.csdn.net/byondocean/article/details/6871881 第11講 集合 ***** C#的集合分為泛型集合和非泛型集合 http://msdn.microsoft.com/zh-cn/library/yz2be5wk.aspx 第12講 委託和事件 ***** C#的委託類似於C的函式指標,但是型別安全,已經被封裝成了一個型別 ***** C#的觀察者設計模式由委託和事件來實現
第13講 反射 ***** 反射是C#獨有的
總的來說,感覺C#的修飾符特別的豐富,關於修飾符的內容還在整理中。