標籤:資料類型 lang ati 進階程式設計 ref str clr 發布 靜態
C#是微軟公司發布的一種物件導向的、運行於.NET Framework之上的進階程式設計語言。
支援特性:強型別檢查、數組維度檢查、未初始化的變數引用檢測、自動垃圾收集(Garbage Collection,指一種自動記憶體釋放技術)。
1:沒有宏
2:單一繼承,不允許繼承多個父類
3:與COM(元件物件模型)是直接整合的
4:命名空間
一.語言結構
記憶體管理:由底層.NET架構進行自動記憶體記憶體回收。一個基本的C#類中包含資料成員、屬性、構造器和方法。屬性可以是靜態或執行個體成員。 編譯:程式直接編譯成標準的二進位可執行形式.但C#的來源程式並不是被編譯成二進位可執行形式,而是一種中繼語言(IL),類似於JAVA位元組碼。如果前面的Hello World程式被儲存成一個文字檔並被命名為Hello.cs,它將被編譯成命名Hello.exe的可執行程式。
即source code --> byte code --> native code C#程式不能直接編譯成標準的二進位可執行形式,與 Java 類似,它被編譯成為中間代碼(Microsoft Intermediate Language),然後通過 .NET Framework 的虛擬機器——被稱之為通用語言執行層(Common Language Runtime,
CLR)——執行。
二、資料類型兩個基本類:一個名叫object的類是所有其他類的基類。而一個叫string的類.
三、程式執行所有的.Net程式設計語言都被編譯成這種被稱為MSIL(Microsoft Intermediate Language )的中間代碼。因此雖然最終的程式在表面上仍然與傳統意義上的可執行檔都具有“.exe”的尾碼名。但是實際上,如果電腦上沒有安裝
.Net Framework,那麼這些程式將不能夠被執行。 在程式執行時,.Net Framework將中間代碼翻譯成為二進位機器碼,從而使它得到正確的運行。最終的二進位代碼被儲存在一個緩衝區中。所以一旦程式使用了相同的代碼,那麼將會調用緩衝區中的版本。這樣如果一個.Net程式第二次被運行,那麼這種翻譯不需要進行第二次,速度明顯加快。(
MSIL到機器碼只翻譯一次)
C#小結