--- disqus: blogger211010 --- # C# 與 .NET 有什麼關聯呢? C# 是一個程式語言, .NET 則是平台框架,目前有 Windows 平台專屬的 .NET Framework 與跨平台的 .NET Core 兩種,其中包含了 通用語言執行環境(CLR) 與大量的類別庫。 :::info 🔎 ※ .NET Core 是微軟新任執行長 Satya Nadella 上任後,使微軟轉為擁抱開源社群後誕生的開源跨平台框架,目前 .NET Core 有許多功能還不及原本的 .NET Framework,但隨著版本不斷的更新,兩者的差距漸漸在縮小當中。 ::: C# 的編譯器會將其編譯為符合 CLI 規格的中繼語言,也就是常見的 .exe 、 .dll 等資料,執行應用程式時,這些中繼資料則會再繼續透過 CLR 結合使用到的類別庫轉換為機器語言,會將資料編譯為中繼語言( IL)。 ## .NET .NET 是一個框架,為 .NET Framework 的簡稱,由下面兩個部分組成: - 通用語言執行環境CLR(Common Language Runtime):C# - 記憶體回收、即時編譯(Just-In-Time) 等功能 - 類別庫(Class Library):在開發 C# 時用到的許多類別都會在這進行調用