第1章 C#簡介
1 .NET Framework的含義
.NET Framework是Microsoft未開發應用程序而創建的一個具有革命性的平臺。所以啊,其本質是平臺。
它並不局限於Windows,也可以在其他操作系統上。比如:Linux,Mac OS,甚至可以在Mono的安卓和ios系統上運行。
(可以說是很社會了)。它的設計方式也可以確保使用各種語言。例如:C#、C++、Visual Basic、JavaScript、、等。
1).NET Framework的內容:
它主要包含一個龐大的代碼庫,可以在客戶語言(如C#)中通過面向對象(oop)編程技術來使用這些代碼。這個庫分為多個模塊,其實就是為了明確分類。比如有Windows的模塊,Web的模塊等。
還有通用類型系統(Common Type System , CTS),有助於平臺各種語言進行交互操作。公共語言運行庫(Common Language Runtime ,CLR),負責管理所有.NET庫開發的所有應用程序的執行。
2)使用.NET Framework編寫程序:
①CIL和JIT:首先代碼會編譯為通用中間語言(Common Intermediate Language ,CIL)。所有語言都會編譯為這種語言。
之後在執行應用程序之時,Just in Time(JIT)編譯器把CIL編譯成本機代碼。
即:代碼→CIL→JIT。
②程序集:編譯應用程序時,所創建的CIL存儲在一個程序集中。程序集包括可執行的應用程序文件(exe)和其他應用程序使用的庫(dll)。
程序集還包含元數據。
③托管代碼:代碼編譯成CIL,再用JIT編譯為本機代碼時候,CLR代碼任務還在進行。它還需要管理正在執行的.NET Framework編寫的代碼。
所以托管代碼其實就是CLR管理著應用程序。比如:管理內存、處理安全性、允許跨語言調試。
④垃圾回收:GC(grarbage collection)。確保應用程序不再使用內存的時候,釋放這些內存。
⑤總結:
編寫代碼
將代碼編譯為CIL,存儲在程序集中
執行代碼時,使用JIT編譯器轉換為本機代碼。
在托管的CLR環境下運行本機代碼,以及其他應用和進程。
⑥鏈接:編譯CIL時,可以將應用程序代碼放在多個源代碼文件中,再把他們編譯到一個程序集中。這個過程稱為鏈接(linking)。
2 C#的含義
C#是Microsoft專門為使用.NET平臺創建的。(可以說是很心塞了)
1)使用C#可以編寫什麽樣的應用程序:
①桌面應用程序:WPF。
②Windows Store應用程序:WPF。
③雲/Web應用程序:ASP.NET。
④Web API:REST風格的HTTP服務的理想框架。支持移動設備和瀏覽器。
⑤WCF服務:是一種靈活創建分布式應用程序的方式。
3 Visual Studio
第1章 C#簡介