當前位置:才華齋>計算機>C語言>

淺談C#語言的特點

C語言 閱讀(2.04W)

(以下簡稱)框架是微軟提出的新一代Web軟體開發模型,C#語言是框架中新一代的開發工具。C#語言是一種現代、面向物件的語言,它簡化了C++語言在類、名稱空間、方法過載和異常處理等方面的操作,它摒棄了C++的複雜性,更易使用,更少出錯。它使用元件程式設計,和VB一樣容易使用。C#語法和C++和JAVA語法非常相似,如果讀者用過C++和JAVA,學習C#語言應是比較輕鬆的。

淺談C#語言的特點

用C#語言編寫的源程式,必須用C#語言編譯器將C#源程式編譯為中間語言(MicroSoft Intermediate Language,MSIL)程式碼,形成副檔名為exe或dll檔案。中間語言程式碼不是CPU可執行的機器碼,在程式執行時,必須由通用語言執行環境(Common Language Runtime,CLR)中的既時編譯器(JUST IN Time,JIT)將中間語言程式碼翻譯為CPU可執行的機器碼,由CPU執行。CLR為C#語言中間語言程式碼執行提供了一種執行時環境,C#語言的CLR和JAVA語言的.虛擬機器類似。這種執行方法使執行速度變慢,但帶來其它一些好處,主要有:

?通用語言規範(Common Language Specification,CLS):系統包括如下語言:C#、C++、VB、J#,他們都遵守通用語言規範。任何遵守通用語言規範的語言源程式,都可編譯為相同的中間語言程式碼,由CLR負責執行。只要為其它作業系統編制相應的CLR,中間語言程式碼也可在其它系統中執行。

?自動記憶體管理:CLR內建垃圾收集器,當變數例項的生命週期結束時,垃圾收集器負責收回不被使用的例項佔用的記憶體空間。不必象C和C++語言,用語句在堆中建立的例項,必須用語句釋放例項佔用的記憶體空間。也就是說,CLR具有自動記憶體管理功能。

?交叉語言處理:由於任何遵守通用語言規範的語言源程式,都可編譯為相同的中間語言程式碼,不同語言設計的元件,可以互相通用,可以從其它語言定義的類派生出本語言的新類。由於中間語言程式碼由CLR負責執行,因此異常處理方法是一致的,這在除錯一種語言呼叫另一種語言的子程式時,顯得特別方便。

?增加安全:C#語言不支援指標,一切對記憶體的訪問都必須通過物件的引用變數來實現,只允許訪問記憶體中允許訪問的部分,這就防止病毒程式使用非法指標訪問私有成員。也避免指標的誤操作產生的錯誤。CLR執行中間語言程式碼前,要對中間語言程式碼的安全性,完整性進行驗證,防止病毒對中間語言程式碼的修改。

?版本支援:系統中的元件或動態聯接庫可能要升級,由於這些元件或動態聯接庫都要在登錄檔中註冊,由此可能帶來一系列問題,例如,安裝新程式時自動安裝新元件替換舊元件,有可能使某些必須使用舊元件才可以執行的程式,使用新元件執行不了。在中這些元件或動態聯接庫不必在登錄檔中註冊,每個程式都可以使用自帶的元件或動態聯接庫,只要把這些元件或動態聯接庫放到執行程式所在資料夾的子資料夾bin中,執行程式就自動使用在bin資料夾中的元件或動態聯接庫。由於不需要在登錄檔中註冊,軟體的安裝也變得容易了,一般將執行程式及庫檔案拷貝到指定資料夾中就可以了。

?完全面向物件:不象C++語言,即支援面向過程程式設計,又支援面向物件程式設計,C#語言是完全面向物件的,在C#中不再存在全域性函式、全區變數,所有的函式、變數和常量都必須定義在類中,避免了命名衝突。C#語言不支援多重繼承。