1. 程式人生 > >C#與.net平臺(一)

C#與.net平臺(一)

1 .net

.net
- 本質上是一個執行庫執行引擎(mscoree.dll)和基礎類庫(mscorlib.dll等)。
- CLR可以承載任何符合託管程式碼規則的.net二進位制檔案(即程式集).
- 程式集中有很多CIL指令(以及型別元資料和程式集清單)

  1. CIL common intermediate language 公共中間語言
    託管程式碼 只能在.net執行庫中執行的C#程式碼
    assembly 程式集. 託管程式碼編譯後的二進位制單元
    metadata 元資料. 詳盡的描述了二進位制檔案中每個型別的特徵
    manifest 清單. 描述程式集的元資料
    JIT just-in-time 即時編譯

  2. CLR common language runtime 公共語言執行庫
    執行庫環境:定位,載入和管理.net型別.同時負責低層細節工作:記憶體管理,應用託管,處理執行緒,安全檢查

  3. CTS common type system 公共型別系統
    描述CLR所支援的資料型別和程式設計結構,指定這些實體如何互動.
    規定了型別如何定義才能被CLR承載
    .net級別的型別

    - 類 5,
    - 介面(對一些方法的抽象,一個類可以實現多個介面,只能實現一個抽象類) 8,
    - 結構(一種基於值的語義的輕量級的類 型別) 4,
    - 列舉 4,有語言意義的鍵代表數字值
    - 委託 型別安全的函式指標
    
  4. CLS common language specification 公共語言規範
    描述了支援.net編譯器必須支援的最小和完全的特徵集.
    是.net語言(c#,vb,f#..)都支援的公共型別和程式設計結構的子集

  5. CLI common language infrastructure 公共語言基礎設施
    實現.net程式集跨作業系統

BCL base class library 基礎類庫
COM component object model 元件物件模型 語言無關性:VB開發者可以用C++構建的COM庫

2 構建C#程式

SDK .net framework 4.5 software development kit .net開發工具集
SDK包括託管的編譯器,命令列工具,示例程式碼,.net類庫及文件系統.
然後可以用c#編譯器(cxc.exe)甚至notepad開發,但有visual studio..