C#和.NET關係詳解
阿新 • • 發佈:2019-02-13
一 .NET Framework體系
- .NET Framework是一種為開發應用程式的平臺(沒有限制系統和程式型別)
- .NET Framework主要包含一個非常大的程式碼庫,可以通過oop來使用這些程式碼,這個庫分為不同的模組(windows引用,web開發)
//注意:其中包含的.NET公共語言執行庫(Common Language Runtime,CLR),它負責管理用.net庫開發的所有執行程式的執行
二 C#和.NET的關係
C#是一種面向物件程式語言,也是用於生成面向.NET環境的程式碼,但它本身不是.NET的一部分;.NET支援的特性,C#並不支援(例運算子過載).
三 公共語言執行庫(CLR)
- 通常將在CLR的控制下執行的程式碼稱為託管程式碼(managed code)
- 在CLR執行編寫號的原始碼之前,需要編譯他們(在C#或其他語言中).在.NET中編譯分為兩個部分:
- 把原始碼編譯成Microsoft中間語言(IL).
- CLR把IL編譯成平臺專用的程式碼
四 提高效能
- IL總是給hi即使編譯的(稱為JIT編譯)
- JIT編譯器不是把整個應用程式一次編譯完(這樣會有很長的啟動時間),而是隻編譯他呼叫的那部分程式碼,程式碼編譯過一次後,得到的內部可執行程式碼就會儲存起來.直到推出該引用程式為止,下次執行這部分程式碼時,就不需要重新運行了,這個過程比一開始編譯整個應用程式的效率高
- 語言的互操作性:VB,VC++
五 中間語言(IL)特點
- 面向物件和使用介面
- 值型別和引用型別之間的巨大差別
- 強資料型別
- 使用異常來處理錯誤
- 使用特性
六 程式集(assembly)
定義:
- 時包含編譯好的,面向.NET Framework的程式碼的邏輯單元
- 程式集時完全自我描述性的,也是一個邏輯單元而不是物理單元,它可以儲存在多個檔案中(動態程式集的確會儲存在記憶體中,而不是儲存在檔案中).如果一個程式集儲存在多個檔案中,其中就會有一個包含入口的主檔案,該檔案描述了程式集中的其他檔案.