C#點滴 – CLR, CTS…等等基本概念

來源:互聯網
上載者:User

1. CLR – Common Language Runtime

為.NET應用程式提供運行環境。定位、載入和管理.NET類型,同時也負責一些底層細節的工作,如記憶體管理、建立應用程式定義域、線程和物件內容邊界,安全檢查等等。

 

2. CTS – Common Type System

完整描述了運行庫所支援的所有可能的資料類型和編程結構,指定了這些實體之間如何互動,也規定了它們在.NET中繼資料格式中的表示。

 

CTS包括5種基本類型:class, interface, enum, delegate and struct

CTS可能的成員:構造器,終結器,靜態建構函式,巢狀型別,運算子,方法,屬性,索引器,欄位,唯讀欄位,常量,事件

 

3. CLS – Common Language Specification

定義了一個讓所有.NET語言都支援的公用類型和編程結構的子集。這個可以說是所有語言特性的一個子集,而CTS是所有語言特性的一個合集。

CLS定義了一套規則,當程式完全遵守這套規則時,才能確保你的程式能被所有其它.NET語言正確調用。可以通過特性[assembly: System.CLSCompliant(true)]來進行CLS規則驗證。

 

4. BCL - Basic Class Library

所有.NET語言都可以調用的一套公用類庫,封裝了很多最基本的類型和服務。

 

5. Managed/Unmanaged code

運行在CLR中的代碼叫做managed code,反之稱為unmanaged code。

 

6. C#的優點

  • 不需要指標
  • 自動管理記憶體 - 記憶體回收機制
  • 物件導向語言
  • 操作符重載
  • 支援Attribute
  • 泛型程式設計更安全
  • 匿名函數的支援
  • 簡化的委託/事件模型
  • partial class

3.5支援的特性有:

  • LINQ
  • 匿名型別的支援
  • 擴充方法來擴充現有類型
  • Lambda文法
  • 新的初始化對象文法

7. IL, CIL或者MSIL

中繼語言,或者成為通用中間語言。所有的.NET語言代碼編譯後都轉換為中繼語言。目的是為了支援多語言。

 

8. 程式集內容

主要包含了編譯過的IL指令集、類型metadata和manifest(程式集本身的metadata)。類型metadata的作用主要是反射、對象序列化、晚期綁定、wcf以及vs的智能感知等等。manifest除了記錄本程式集的版本、模組號之外,它還記錄了讓程式集正常運轉的外部程式集資訊。

 

9. JIT - just in time

即時編譯器。程式運行是嘗試編譯IL指令,產生機器可識別的機器碼,並儲存編譯結果。下次調用相同代碼時不需要重新編譯。

 

10. namespace

簡單說就是對.NET類型的分組機制。我們最常用到的系統namespace有System.Data, System.IO等等。除了System打頭的命名空間,最有用的還有以Microsoft開頭的命名空間,包含在其中的類型一般都和微軟作業系統服務相關,不能運行在其他OS上,如MAC,Linux等等。

 

11. 查看IL,反編譯

使用.NET內建工具ildasm可以查看程式集IL。使用reflector可以反編譯器集,你可以從http://www.red-gate.com/products/reflector/下載。

 

12. .NET的跨平台性

簡單說就是.NET是跨語言的平台,同時也支援跨平台的語言。跨語言的平台是指它支援多種程式設計語言,支援跨平台的語言理論上是說.NET可以在非Windows之外的OS上運行。不過,對於後者,MS本身並沒有做這個工作,僅僅有2個開源的架構在提供有限的支援:

http://www.mono-project.com - 支援各種版本的Linux、Win32以及Mac OS X

http://www.dotgnu.org/ - 支援Win32, AIX, BeOS, Mac OS X, Solaris and Linux

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.