C#具有C++所沒有的一個優(yōu)勢就是學(xué)習(xí)簡單。該語言首要的目標(biāo)就是簡單。很多功能(還不如說是缺少了C++的一些功能)有助于C#全方位的簡單。
在C#中,沒有C++中流行的指針。默認(rèn)地,您工作在受管理的代碼中,在那里不允許如直接存取內(nèi)存等不安全的操作。我想沒有C++程序員可以聲稱,從沒有使用指針訪問過不屬于他們的內(nèi)存。
與指針"戲劇性"密切相關(guān)的是"愚蠢的"操作。在C++中,有::、.、和->操作符,它們用于名字空間、成員和引用。對于新手來說,操作符至今仍是學(xué)習(xí)的一道難關(guān)。C#棄用其它操作符,僅使用單個操作符 "."。現(xiàn)在一個程序員所需要理解的就是嵌套名字的注解了。
您不必記住基于不同處理器架構(gòu)的隱含的類型,甚至各種整型的變化范圍。C#使用統(tǒng)一的類型系統(tǒng),屏棄了C++多變的類型系統(tǒng)。這種系統(tǒng)充許您把各種類型作為一個對象查看,它是一個原始類型還是一個full-blown 類。和其它編程語言相比,由于加框(boxing)和消框(unboxing)的機制,把簡單類型當(dāng)作對象處理并不能獲得性能的改善。稍后將詳細(xì)解釋加框和消框,但基本上僅當(dāng)需要時才使用對象訪問簡單類型這種技術(shù)。
首先,老練的程序員可能不喜歡它,但是整型和布爾型如今終歸是兩種完全不同的數(shù)據(jù)類型。這就意味著原來if語句中錯誤的賦值現(xiàn)在會被編譯出錯,因為if語句只接受布爾類型的值。再也不會出現(xiàn)誤用賦值符為比較符這樣的錯誤!
C#同時也解決了存在于C++中已經(jīng)有些年頭的多余東西(redundancies)。這種多余包括常數(shù)預(yù)定義,不同字符類型等。鑒于多余表單已經(jīng)從該語言中消失,故一般在C#中都可以使用表單了。
新聞熱點
疑難解答
圖片精選