C#(發(fā)音為“See Sharp”)是簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言。C#起源于C語言家族,因此,C,C++和Java的程序員很快就能熟悉它。C#已經(jīng)獲得了ECMA International和ISO/IEC的國際標(biāo)準(zhǔn)認(rèn)證,它們分別是ECMA-334標(biāo)準(zhǔn)和ISO/IEC 23270標(biāo)準(zhǔn)。Microsoft用于.NET框架的C#編譯器就是根據(jù)這兩個標(biāo)準(zhǔn)實現(xiàn)的。
C#是面向?qū)ο蟮恼Z言,但C#進(jìn)一步支持面向組件(component-oriented)的編程。現(xiàn)代軟件設(shè)計越來越依賴于自包含(self-contained)和自描述(self-describing)功能包形式的軟件組件。這種組件的關(guān)鍵之處在于它們提供了帶有屬性、方法和事件的編程模型;它們還具有提供關(guān)于組件聲明信息的特性(attribute);同時,它們編入了自己的文檔。C#提供語言構(gòu)件來直接支持這些概念,使得C#在創(chuàng)建和使用軟件構(gòu)件方面非常自然。
C#的一些特征支持創(chuàng)建健壯和持久的應(yīng)用程序:垃圾回收(garbage collection)特征可以自動回收無用對象所占的內(nèi)存空間;異常處理(exceptionhandling)提供了一個結(jié)構(gòu)化和可擴(kuò)展的方式,用于錯誤檢測和恢復(fù);語言的類型安全(type-safe)設(shè)計了防止引用非初始化變量、數(shù)組下標(biāo)越界,以及執(zhí)行未檢查的類型轉(zhuǎn)換等情形的發(fā)生。
C#具有統(tǒng)一類型系統(tǒng)。所有的C#類型,包括諸如int和double的基本數(shù)據(jù)類型,都繼承于單個根類型object。因此,所有類型都共享一組通用操作,并且,任何類型的值都能夠以一致的方式存儲、傳遞和操作。C#支持用戶自定義引用類型和值類型,既允許對象的動態(tài)分配,也允許輕量結(jié)構(gòu)的內(nèi)聯(lián)存儲。
為了保證C#程序和類庫總能以兼容的方式升級,在C#的設(shè)計中十分強(qiáng)調(diào)版本控制。許多程序語言不太重視這一點,導(dǎo)致采用那些語言編寫的程序常常因為其所依賴的類庫的更新而無法工作。C#的設(shè)計方面直接受到版本考慮的影響,包括分開的virtual和override修飾符、方法重載的規(guī)則,以及支持對顯式接口成員的聲明。
新聞熱點
疑難解答