C#語言的特點-西安軟件開發(fā)培訓(xùn)|西安計算機培訓(xùn)|西安電腦培訓(xùn)|西安.NET培訓(xùn)
C#在帶來對應(yīng)用程序的快速開發(fā)能力的同時 并沒有犧牲C 與C++程序員所關(guān)心的各種特性 它忠實地繼承了C 和C++的優(yōu)點 如果你對C 或C++有所了解 你會發(fā)現(xiàn)它是那樣的熟悉 即使你是一位新手 C#也不會給你帶來任何其它的麻煩 快速應(yīng)用程序開發(fā) Rapid Application Development RAD 的思想與簡潔的語法將會使你迅
速成為一名熟練的開發(fā)人員。(西安.NET培訓(xùn)中心主要從事.NET方向的開發(fā)和培訓(xùn)業(yè)務(wù),現(xiàn)在招收想在.NET方向發(fā)展的優(yōu)秀的應(yīng)往屆畢業(yè)生8名,網(wǎng)站:)
正如前文所述 C#是專門為.NET 應(yīng)用而開發(fā)出的語言 這從根本上保證了 C#與.NET 框架的完美結(jié)合 在.NET 運行庫的支持下 .NET 框架的各種優(yōu)點在C#中表現(xiàn)
得淋漓盡致 讓我們先來看看C#的一些突出的特點 相信在以后的學(xué)習(xí)過程中 你將 會深深體會到# SHARP的真正含義
簡潔的語法
請原諒 雖然我們一再強調(diào)學(xué)習(xí)本書不需要任何的編程基礎(chǔ) 但在這里還不得不 提到C++ 在缺省的情況下 C#的代碼在.NET 框架提供的 可操控 環(huán)境下運行 不允許直 接地內(nèi)存操作 它所帶來的*特色是沒有了指針 與此相關(guān)的 那些在 C++中被瘋狂使用的操作符 例如-> 和 ., 已經(jīng)不再出現(xiàn) C#只支持一個.對于我們來說 現(xiàn)在需要理解的一切僅僅是名字嵌套而已 C#用真正的關(guān)鍵字換掉了那些把活動模板庫 Active Template Library ALT 和
COM 搞得亂糟糟的偽關(guān)鍵字, 如 OLE_COLOR BOOL VARIANT_BOOL
DISPID_XXXXX 等等 每種C#類型在.NET 類庫中都有了新名字
語法中的冗余是 C++中的常見的問題 比如 const”和 #define各種各樣的字 符類型等等 C#對此進行了簡化 只保留了常見的形式 而別的冗余形式從它的語法
結(jié)構(gòu)中被清除了出去
精心地面向?qū)ο笤O(shè)計
也許你會說 從Smalltalk 開始 面向?qū)ο蟮脑掝}就始終纏繞著任何一種現(xiàn)代程序設(shè)計語言 的確 C#具有面向?qū)ο蟮恼Z言所應(yīng)有的一切特性 封裝 繼承與多態(tài) 這并不出奇 然而 通過精心地面向?qū)ο笤O(shè)計 從高級商業(yè)對象到系統(tǒng)級應(yīng)用 C#是建造廣泛組件的絕對選擇 在 C# 的類型系統(tǒng)中 每種類型都可以看作一個對象 C#提供了一個叫做裝箱
boxing 與拆箱 unboxing 的機制來完成這種操作 而不給使用者帶來麻煩 這在以后的章節(jié)中將進行更為詳細的介紹C#只允許單繼承 即一個類不會有多個基類 從而避免了類型定義的混亂 在后 面的學(xué)習(xí)中你很快會發(fā)現(xiàn) C#中沒有了全局函數(shù) 沒有了全局變量 也沒有了全局常 數(shù) 一切的一切 都必須封裝在一個類之中 你的代碼將具有更好的可讀性 并且減 少了發(fā)生命名沖突的可能
整個C#的類模型是建立在.NET 虛擬對象系統(tǒng) Visual Object System VOS 的基礎(chǔ)之上 其對象模型是.NET 基礎(chǔ)架構(gòu)的一部分 而不再是其本身的組成成分 在下面
將會談到 這樣做的另一個好處是兼容性
借助于從VB 中得來的豐富的RAD 經(jīng)驗 C#具備了良好的開發(fā)環(huán)境 結(jié)合自身強 大的面向?qū)ο蠊δ?C#使得開發(fā)人員的生產(chǎn)效率得到極大的提高 對于公司而言軟件開發(fā)周期的縮短將能使它們更好地應(yīng)付網(wǎng)絡(luò)經(jīng)濟的競爭 在功能與效率的杠桿上人 們終于找到了支點
與Web 的緊密結(jié)合
.NET 中新的應(yīng)用程序開發(fā)模型意味著越來越多的解決方案需要與Web 標準相統(tǒng) 一 例如超文本標記語言 Hypertext Markup Language HTML 和XML 由于歷史
的原因 現(xiàn)存的一些開發(fā)工具不能與Web 緊密地結(jié)合 SOAP 的使用使得C#克服了這 一缺陷 大規(guī)模深層次的分布式開發(fā)從此成為可能
由于有了Web 服務(wù)框架的幫助 對程序員來說 網(wǎng)絡(luò)服務(wù)看起來就像是C#的本地 對象 程序員們能夠利用他們已有的面向?qū)ο蟮闹R與技巧開發(fā)Web 服務(wù)僅需要使用簡單的C#語言結(jié)構(gòu) C#組件將能夠方便地為Web 服務(wù) 并允許它們通過Internet 被 運行在任何操作系統(tǒng)上的任何語言所調(diào)用 舉個例子 XML已經(jīng)成為網(wǎng)絡(luò)中數(shù)據(jù)結(jié)構(gòu) 傳送的標準 為了提高效率 C#允許直接將XML 數(shù)據(jù)映射成為結(jié)構(gòu) 這樣就可以有效地處理各種數(shù)據(jù)。
完全的安全性與錯誤處理
語言的安全性與錯誤處理能力 是衡量一種語言是否優(yōu)秀的重要依據(jù) 任何人都 會犯錯誤 即使是最熟練的程序員也不例外 忘記變量的初始化 對不屬于自己管理 范圍的內(nèi)存空間進行修改 這些錯誤常常產(chǎn)生難以預(yù)見的后果 一旦這樣的軟 件被投入使用 尋找與改正這些簡單錯誤的代價將會是讓人無法承受的 C#的先進設(shè) 計思想可以消除軟件開發(fā)中的許多常見錯誤 并提供了包括類型安全在內(nèi)的完整的安 全性能 為了減少開發(fā)中的錯誤 C#會幫助開發(fā)者通過更少的代碼完成相同的功能 這不但減輕了編程人員的工作量 同時更有效地避免了錯誤發(fā)生
.NET 運行庫提供了代碼訪問安全特性 它允許管理員和用戶根據(jù)代碼的ID來配置安全等級 在缺省情況下 從Internet 和Intranet 下載的代碼都不允許訪問任何本地
文件和資源 比方說 一個在網(wǎng)絡(luò)上的共享目錄中運行的程序 如果它要訪問本地的 一些資源 那么異常將被觸發(fā) 它將會無情地被異常扔出去 若拷貝到本地硬盤上運 行則一切正常 內(nèi)存管理中的垃圾收集機制減輕了開發(fā)人員對內(nèi)存管理的負擔(dān) .NET 平臺提供的垃圾收集器 Garbage Collection GC 將負責(zé)資源的釋放與對象撤銷時的 內(nèi)存清理工作
變量是類型安全的 C#中不能使用未初始化的變量 對象的成員變量由編譯器負 責(zé)將其置為零 當(dāng)局部變量未經(jīng)初始化而被使用時 編譯器將做出提醒 C#不支持不 安全的指向 不能將整數(shù)指向引用類型 例如對象 當(dāng)進行下行指向時 C#將自動驗 證指向的有效性 C#中提供了邊界檢查與溢出檢查功能
版本處理技術(shù)
C#提供內(nèi)置的版本支持來減少開發(fā)費用 使用C#將會使開發(fā)人員更加輕易地開發(fā) 和維護各種商業(yè)應(yīng)用
升級軟件系統(tǒng)中的組件 模塊 是一件容易產(chǎn)生錯誤的工作 在代碼修改過程中 可能對現(xiàn)存的軟件產(chǎn)生影響 很有可能導(dǎo)致程序的崩潰 為了幫助開發(fā)人員處理這些 問題 C#在語言中內(nèi)置了版本控制功能 例如 函數(shù)重載必須被顯式地聲明 而不會 像在C++或Java 中經(jīng)常發(fā)生的那樣不經(jīng)意地被進行 這可以防止代碼級錯誤和保留版 本化的特性 另一個相關(guān)的特性是接口和接口繼承的支持 這些特性可以保證復(fù)雜的 軟件可以被方便地開發(fā)和升級
靈活性和兼容性
在簡化語法的同時 C#并沒有失去靈活性 盡管它不是一種無限制的語言 比如 它不能用來開發(fā)硬件驅(qū)動程序 在默認的狀態(tài)下沒有指針等等 但是 在學(xué)習(xí)過程中 你將發(fā)現(xiàn) 它仍然是那樣的靈巧
如果需要 C#允許你將某些類或者類的某些方法聲明為非安全的 這樣一來 你 將能夠使用指針 結(jié)構(gòu)和靜態(tài)數(shù)組 并且調(diào)用這些非安全的代碼不會帶來任何其它的 問題 此外 它還提供了一個另外的東西 這樣的稱呼多少有些不敬 來模擬指針的 功能 delegates 代表 再舉一個例子 C#不支持類的多繼承 但是通過對接口的 繼承 你將獲得這一功能
下面談?wù)劶嫒菪?
正是由于其靈活性 C#允許與C 風(fēng)格的需要傳遞指針型參數(shù)的API 進行交互操作 DLL 的任何入口點都可以在程序中進行訪問 C#遵守.NET公用語言規(guī)范 Common Language Specification CLS 從而保證了C#組件與其它語言組件間的互操作性 元 數(shù)據(jù) Metadata 概念的引入既保證了兼容性 又實現(xiàn)了類型安全。
電話:029-88789460
QQ:1350366700 643430980
網(wǎng)站:
地 址:西安市科技路10號華奧大廈C座2301室