程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> .NET 體系結構雜談

.NET 體系結構雜談

編輯:關於C#
 

我們不能獨立的使用C#語言,而必須和.net framework 一起考慮。C#編譯器專門用於.net 這表示用C#編寫的所有代碼總在.net Framework 中運行。對於C#語言來說,可以得出兩個重要的結論:

1.C#的結構和方法論反應了.net的基礎方法論

2.在許多的情況下,C#的特定語言功能取決於.net的功能,或者依賴於.net的基類

Microsoft 中間語言(Microsoft INtermediate Langiage) 簡稱 MSIL 或者 IL

通用類型系統(Common Type System)簡稱 CTS

公共語言規范(Common Language Specification)CLS


C#與.NET的關系

C#是專門與Microsoft的.net framework 一起使用而設計的。

C#是一種基於現代面向對象設計方法的語言。

C#就其本身而言只是一種語言,盡管它是用於生成面向.net環境的代碼,但它本身不是.net的一部分。

.NET 支持的一些特性,C#不支持。而C#支持的另一些特性,而.net不支持(如運算符重載)


公共語言運行庫

.net Framework 的核心是其運行庫的執行環境,稱為公共語言運行庫(CLR)或.net 運行庫。

通常將在CLR的控制下運行的代碼稱為托管代碼(managed code)


在.net中編譯 分為兩部分:

1.把源代碼編譯為Microsoft 中間語言(IL)

2.CLR把IL編譯為平台專用代碼


托管代碼的優點:

他們是一種低級語言,語法很簡單(使用數字代碼,而不是文本代碼),可以非常快速的轉換為內部機器碼。

1.平台無關性(編譯為中間語言就可以獲得.NET平台無關性)

2.提高性能()

3.語言的互操作性(將任何一種語言編譯為中間代碼)


中間語言

中間語言特征:

1.面向對象和使用接口

2.值類型和引用類型之間的巨大差別

3.強數據類型

4.使用異常來處理錯誤

5.使用特性


強數據類型

中間語言的一個重要方面是它基於強數據類型。

我們從.net提供的,依賴於類型安全的服務站獲得的好處更多,這些服務包括

1.語言的互操作性

2.垃圾收集

3.安全性

4.應用程序域

IL(中間語言)是區分大小寫的


垃圾收集:處理目前代碼中所有變量,檢查對存儲在托管堆上的對象的引用,確定哪些對象可以從代碼中訪問----即哪些對象有引用,沒有引用的對象就不能再從代碼中訪問,因而被刪除。


垃圾收集器的一個重要方面是他是不確定。換言之,不能保證什麼時候會調用垃圾收集器:.net運行庫決定需要它時,就可以調用它(除非明確調用垃圾收集器)。但可以重寫自己俄格過程,在代碼中調用垃圾收集器。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved