1. 程式人生 > >C#和.NET關係詳解

C#和.NET關係詳解

一 .NET Framework體系

  1. .NET Framework是一種為開發應用程式的平臺(沒有限制系統和程式型別)
  2. .NET Framework主要包含一個非常大的程式碼庫,可以通過oop來使用這些程式碼,這個庫分為不同的模組(windows引用,web開發)

//注意:其中包含的.NET公共語言執行庫(Common Language Runtime,CLR),它負責管理用.net庫開發的所有執行程式的執行

二 C#和.NET的關係

C#是一種面向物件程式語言,也是用於生成面向.NET環境的程式碼,但它本身不是.NET的一部分;.NET支援的特性,C#並不支援(例運算子過載).

三 公共語言執行庫(CLR)

  1. 通常將在CLR的控制下執行的程式碼稱為託管程式碼(managed code)
  2. 在CLR執行編寫號的原始碼之前,需要編譯他們(在C#或其他語言中).在.NET中編譯分為兩個部分:
  • 把原始碼編譯成Microsoft中間語言(IL).
  • CLR把IL編譯成平臺專用的程式碼

四 提高效能

  1. IL總是給hi即使編譯的(稱為JIT編譯)
  2. JIT編譯器不是把整個應用程式一次編譯完(這樣會有很長的啟動時間),而是隻編譯他呼叫的那部分程式碼,程式碼編譯過一次後,得到的內部可執行程式碼就會儲存起來.直到推出該引用程式為止,下次執行這部分程式碼時,就不需要重新運行了,這個過程比一開始編譯整個應用程式的效率高
  3. 語言的互操作性:VB,VC++

五 中間語言(IL)特點

  • 面向物件和使用介面
  • 值型別和引用型別之間的巨大差別
  • 強資料型別
  • 使用異常來處理錯誤
  • 使用特性

六 程式集(assembly)

定義:

  • 時包含編譯好的,面向.NET Framework的程式碼的邏輯單元
  • 程式集時完全自我描述性的,也是一個邏輯單元而不是物理單元,它可以儲存在多個檔案中(動態程式集的確會儲存在記憶體中,而不是儲存在檔案中).如果一個程式集儲存在多個檔案中,其中就會有一個包含入口的主檔案,該檔案描述了程式集中的其他檔案.