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