.NET 平台雙核心
- CLR (Common Language Runtime):對應 Java JVM,提供記憶體管理、執行緒、安全性、例外處理、JIT 編譯
- FCL (Framework Class Library):對應 Java Class Library,提供海量 API,多語言共用,編譯為 CIL (Common Intermediate Language,對應 Java Bytecode)
C# 與 Java 驚人相似處 (20+ 項)
- 編譯為跨平台中間碼,受控環境執行
- 自動記憶體回收,移除指標 (C# 可用
unsafe 區塊)
- 無標頭檔,命名空間/套件管理可視性,消除循環依賴
- 所有類別隱含繼承
object,實例化需 new
lock/synchronized 物件鎖定支援多執行緒
- 介面、內部類、單一繼承
- 無全域函數/常數,一切皆屬類別
- 陣列/字串內建長度與邊界檢查
- 統一
. 運算子,無 ->/::
null/bool/boolean 為關鍵字
- 變數使用前必須初始化
if 條件必須為布林值
try 可接 finally
系列規劃
後續文章將聚焦差異點:屬性、索引器、委派/事件、泛型、屬性、非同步模式、LINQ 等 C# 獨特優勢特性。