C#結合了多種程式語言的精華,因此在學習語法上具有壓倒性的優勢條件。
C#屬於強型別(Strongly-Typed)檢查語言,此特色是型別安全(Type Safety)的最佳保證,而C#以受管理碼(Managed Code)方式進行編譯,在CLR運作下對於.NET程式語言之間的相容性、互通性和安全性都可以保證他的成果,當然也支援垃圾記憶體回收(Garbage Collection)功能,讓記憶體獲得充分有效運用。
C#適合用來開發嵌入式系統,也是適合開發大型複雜的系統。
C#支援指標(Pointer)的使用,但被限定於非安全模式才能運作。
C#與C++相較之下,C#不支援多重繼承(Multiple Inheritance),也沒有模板(Template)。但C#仍可以透過介面來實作多重繼承功能,也可以透過泛型(Generic)來取代模板。
微軟推出C#主要就是要彌補昇陽Java的兩項缺點:跨語言溝通能力、Windows平台的整合能力。這也是C#勝過Java的兩項主要優勢。

C#與Java分析比較表  C# Java
所屬公司  Microsoft  Sun
執行環境  CLR  Java VM
中介語言
(跨平台方式)
 MSIL  Bytecode
單一繼承
(Single Inheritance)
 支援  支援
多重繼承
(Multiple Inheritance)
 不支援
但可透過介面實作
 不支援
但可透過介面實作
平台獨立性
(Platform Independence)
 有  有
垃圾記憶體回收機制
(Garbage Collection)
 有  有
 指標(Pointer)  支援,但只能在非安全模式下使用(不健議使用)  不支援
switch語法  支援char、string和int變數來切換判斷  支援char和int變數來切換判斷
enum語法  支援  JDK 5.0以上支援
struct語法  支援  不支援
goto語法  支援  不支援
目前goto為保留字
foreach迴圈  支援  支援
常數宣告  使用關鍵字const  使用關鍵字final
as和is運算符號  支援  不支援
屬性(Property)用法  支援  不支援
用方法實作屬性
運算子多載
(Operator Overloading)
 支援  支援
 委派(Delegate)  支援  不支援
泛型(Generics) 支援 支援
部分類別
(Partial Classes)
支援 不支援
例外處理
(Exception Handling)
 支援  支援


創作者介紹
創作者 如雲 的頭像
如雲

如雲似水

如雲 發表在 痞客邦 留言(0) 人氣()