淺談C#語言的特點

來源:文萃谷 1.96W

(以下簡稱)框架是微軟提出的新一代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#語言不支持多重繼承。

熱門標籤