C# 語言:C#是一個物件導向的程式設計語言。是針對.Net Framework 平台開發的語言,C#語言編寫出來的代碼總是在.Net Framework平台上啟動並執行。
.Net Framework 是什麼:是微軟為了開發應用程式而建立的一個富有革命性的一個新平台。.Net Framework 定義了.Net 應用程式開發和運行環境,包括 .Net 應用程式中使用的類庫。類似於Java的虛擬機器。開發人員可以在此平台或者環境下位各種平台和裝置編寫應用程式。 .Net 架構功能強大,主要表現在以下這些方面:(1)提供了一個完全物件導向的編程環境,完全支援物件導向的變成。在軟體的可複用性、可擴充性、可維護性、靈活性方面都有很大的提高。(2)提供了支援多程式設計語言的編譯器,使應用程式可以在多種裝置上運行。(3)提供了許多開發人員可重用的基礎類,包括線程、檔案輸入輸出、資料庫支援、XML資料分析、安全控制等,這些類庫可用於所有 .Net 平台支援的語言。(4)對 WEB 應用的強大支援。可編寫識別Internet 並在 Internet 上也支援的應用程式,並且這些應用程式接受諸如 XML、HTTP、SOAP這樣的開放標準。(5)對 WEB 服務( Web Service )提供支援。
.Net 架構套件括公用語言運行庫(CLR)和統一的類庫集(FCL)這兩個主要組件。
將 .Net 架構 分層看,總共分位四層:
第一層:作業系統(程式總是運行在作業系統之上的,負責一切的處理)
第二層:CLR(Common Language Runtime 通用語言執行平台庫),負責記憶體管理、線程管理以及遠端等核心服務。其包含兩個部分,一個是CLS,一個是CTS。(通用語言執行平台庫提取 .Net 應用程式,將其編譯成原生處理器代碼,同時進行安全性檢查它能夠自動處理物件版面配置,並管理對象引用,當不再使用對象的時候,釋放他們。這樣有足浴消除記憶體泄露和其他常見的編程錯誤。)
第三層:FCL( .Net Framework Class Library 即 .Net 架構類庫),包括以下三個層次
層次1:基本架構類
層次2:ADO.Net 和 XML類
層次3:WebForms、WebService 和 WinForms 。
(是一個綜合的、物件導向的可重用類型集合,包括類、介面和實值型別組成的庫,是建立 .Net 架構應用程式、組件和空間的基礎。)
第四層:語言層,例如VC++.Net、C#、VB.NET、VJ++等。
.Net Framework 工作原理:首先是將源碼編譯成中繼語言MSIL(Microsoft Intermediate Language)代碼,再由即時編譯器(JIT )編譯成機器碼。C#和.Net 支援用其他語言編寫的代碼,通過各自的編譯器編譯成MSIL,再通過JIT編譯器編譯成相應的作業系統專用代碼。這樣就實現了代碼託管,提高程式的運行效率。
各模組具體功能如下:
1)WinForm類:提供Windows表單應用程式設計和開發的類。
2)WebForm類:提供網頁設計開發的類
3)WebService類:提供設計Web服務的類,可同來構造網路服務的應用程式。
4)ADO.NET類:提供與資料庫互動操作的類
5)XML類:提供對XML資料操作操作和轉換
6)基本架構類:提供基本包括輸入輸出、字串操作、安全管理
7)CLS(通用語言規範):規定了使用所有語言都必須遵循的基礎語言功能集合,確保 .Net 架構中語言互通性的實現。
8)CTS(公用類型系統):描述如何在程式運行時聲明、使用和管理類、結構、枚舉、介面等類型。