C#與C++重要區別

1.繼承:C++支持多繼承,C#類只能繼承一個基類中的實現但可以實現多個接口。
2.數組:聲明 C# 數組和聲明 C++ 數組的語法不同。在 C# 中,“[]”標記出現在數組類型的後面。 
3.數據類型:在C++中bool類可以與整型轉換,但C#中bool 類型和其他類型(特別是 int)之間沒有轉換。long 類型:在 C# 中,long 數據類型爲 64 位,而在 C++ 中爲 32 位。
4.struct 類型:在 C# 中,類和結構在語義上不同。struct 是值類型,而 class 是引用類型。
5.switch 語句:與 C++ 中的 switch 語句不同,C# 不支持從一個 case 標籤貫穿到另一個 case 標籤。  
6.delegate 類型:委託與 C++ 中的函數指針基本相似,但前者具有類型安全,是安全的。
7.從派生類調用重寫基類成員。 base 
8.使用 new 修飾符顯式隱藏繼承成員。
9.重寫方法需要父類方法中用virtual聲名,子類方法用override 關鍵字。 
10.預處理器指令用於條件編譯。C# 中不使用頭文件。 C# 預處理器指令 
11.異常處理:C#中引入了 finally 語句,這是C++沒有的。 
12.C# 運算符:C# 支持其他運算符,如 is 和 typeof。它還引入了某些邏輯運算符的不同功能。 
13. static 的使用,static方法只能由類名調用,改變static變量。 
14.在構造基類上替代 C++ 初始化列表的方法。
15.Main 方法和 C++ 及Java中的 main 函數的聲明方式不同,Main而不能用main
16.方法參數:C# 支持 ref 和 out 參數,這兩個參數取代指針通過引用傳遞參數。  
17.在 C# 中只能在unsafe不安全模式下才使用指針。 
18.在 C# 中以不同的方式執行重載運算符。
19.字符串:C# 字符串不同於 C++ 字符串。
20.foreach:C#從VB中引入了foreach關鍵字使得以循環訪問數組和集合。 
21.C# 中沒有全局方法和全局變量:方法和變量必須包含在類型聲明(如 class 或 struct)中。 
22.C# 中沒有頭文件和 #include 指令:using 指令用於引用其他未完全限定類型名的命名空間中的類型。 
23.C# 中的局部變量在初始化前不能使用。 
24析構函數:在 C# 中,不能控制析構函數的調用時間,原因是析構函數由垃圾回收器自動調用。 析構函數 
25構造函數:與 C++ 類似,如果在 C# 中沒有提供類構造函數,則爲您自動生成默認構造函數。該默認構造函數將所有字段初始化爲它們的默認值。 
26.在 C# 中,方法參數不能有默認值。如果要獲得同樣的效果,需使用方法重載。
其實有很多相通的地方。希望對你有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章