一、C#編程語(yǔ)言的由來(lái)
? ? ? ?C#語(yǔ)言是由 C/C++演變而來(lái)的,是微軟推出的一種基于.NET框架的、面向?qū)ο蟮母呒?jí)編程語(yǔ)言。以.NET框架類庫(kù)作為基礎(chǔ),擁有類似Visual Basic的快速開發(fā)能力。簡(jiǎn)單易學(xué),入門超快,減少了煩人的指針,有統(tǒng)一的操作符/修飾符/運(yùn)算符,使用起來(lái)極其舒心。
? ? ? ??對(duì)于C/C++用戶來(lái)說(shuō),最理想的解決方案無(wú)疑是在快速開發(fā)的同時(shí)又可以調(diào)用底層平臺(tái)的所有功能。他們想要一種和最新的網(wǎng)絡(luò)標(biāo)準(zhǔn)保持同步并且能和已有的應(yīng)用程序良好整合的環(huán)境。另外,一些C/C++開發(fā)人員還需要在必要的時(shí)候進(jìn)行一些底層的編程。C# (C sharp) 是微軟對(duì)這一問(wèn)題的解決方案。C#是一種最新的、面向?qū)ο蟮木幊陶Z(yǔ)言。它使得程序員可以快速地編寫各種基于Microsoft .NET平臺(tái)的應(yīng)用程序,Microsoft .NET提供了一系列的工具和服務(wù)來(lái)最大程度地開發(fā)利用計(jì)算與通訊領(lǐng)域。
二、C#編程的優(yōu)勢(shì)
1.開發(fā)平臺(tái)
? ? ? ? C#實(shí)現(xiàn)了由不可管理環(huán)境向可管理環(huán)境的飛躍。在.NET的可管理平臺(tái)環(huán)境中,C#不再處理細(xì)微的諸如對(duì)象生成、銷毀的控制這些工作都由架構(gòu)幫助處理。在選擇了要?jiǎng)?chuàng)建的對(duì)象類型,后它的位置就確定下來(lái)而對(duì)象所占內(nèi)存的釋放回收工作則由碎片收集程序來(lái)實(shí)現(xiàn)。這些工作都是非顯性進(jìn)行的。
2.C#語(yǔ)言使用三層架構(gòu)開發(fā)應(yīng)用系統(tǒng)
所謂三層架構(gòu)就是界面層、邏輯層和數(shù)據(jù)層。使用三層架構(gòu)的優(yōu)勢(shì),比雙層或單層結(jié)構(gòu)都有更大的優(yōu)勢(shì)。三層結(jié)構(gòu)適合群體開發(fā),每人可以有不同的分工,協(xié)同工作使效率倍增。三層架構(gòu)屬于瘦客戶的模式,用戶端只需一個(gè)較小的硬盤、較小的內(nèi)存、較慢的CPU就可以獲得不錯(cuò)的性能。
3.與其他面向?qū)ο笳Z(yǔ)言一樣,C#語(yǔ)言也具有面向?qū)ο笳Z(yǔ)言的基本特征,即封裝、 繼承、 多態(tài)。
等等-----
語(yǔ)法簡(jiǎn)單、易學(xué)。C#擯棄了C++的指針和復(fù)雜多變的類型系統(tǒng)。
支持跨平臺(tái)
完全支持類和面向?qū)ο缶幊?,包括接口和繼承、虛函數(shù)和運(yùn) 算符重載的處理
垃圾回收,自動(dòng)清理動(dòng)態(tài)分配的內(nèi)存
自動(dòng)生成XML文檔說(shuō)明的內(nèi)置支持
改變了編譯器選擇,可以編譯成可執(zhí)行文件或.NET組件庫(kù)
支持快速應(yīng)用程序開發(fā)
可以編寫http://ASP.NET動(dòng)態(tài)頁(yè)面和XML Web服務(wù)
增加了一些泛型類型,使開發(fā)人員可以實(shí)現(xiàn)高度的代碼重用
三、C#中的主要功能
布爾條件(Boolean Conditions)
自動(dòng)垃圾回收(Automatic Garbage Collection)
標(biāo)準(zhǔn)庫(kù)(Standard Library)
組件版本(Assembly Versioning)
屬性(Properties)和事件(Events)
委托(Delegates)和事件管理(Events Management)
易于使用的泛型(Generics)
索引器(Indexers)
條件編譯(Conditional Compilation)
簡(jiǎn)單的多線程(Multithreading)
LINQ 和 Lambda 表達(dá)式
集成 Windows
四、C#與C++對(duì)比的主要區(qū)別
1、編譯區(qū)別
C#代碼首先會(huì)被編譯為CLR(公共語(yǔ)言運(yùn)行庫(kù)),然后由.NET框架解析。
C ++代碼將會(huì)直接被編譯為機(jī)器代碼。
2、內(nèi)存管理的不同
C#是在虛擬機(jī)上執(zhí)行,會(huì)自動(dòng)進(jìn)行內(nèi)存管理。
C ++需要手動(dòng)組織管理內(nèi)存。
3、指針使用的區(qū)別
C#不支持使用指針,但可以使用一些不安全的類和方法;
C ++允許使用指針。不用指針的C#比C++更安全。指針引起的內(nèi)存泄漏啥的問(wèn)題還是蠻費(fèi)腦的。
4、系統(tǒng)環(huán)境(平臺(tái))的區(qū)別
C#主要用于Windows環(huán)境;
C ++是為基于Unix的系統(tǒng)設(shè)計(jì)的,但現(xiàn)在可以用于任何平臺(tái)。
5、應(yīng)用上的區(qū)別
C#的應(yīng)用涉及基于Web的桌面和移動(dòng)應(yīng)用程序;
C ++的唯一目的就是創(chuàng)建獨(dú)立的控制臺(tái)應(yīng)用程序。
6、速度上的區(qū)別
C ++代碼更快,因?yàn)樗皇褂弥匦蛶?kù);
C#較慢,因?yàn)樗鼤?huì)產(chǎn)生開銷并使用了類似于java這樣的重型庫(kù)。
?
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-703728.html文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-703728.html
?
到了這里,關(guān)于C#編程語(yǔ)言的優(yōu)勢(shì)與C++對(duì)比的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!