国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

《C#入門與提高》

2024-07-21 02:27:10
字體:
來源:轉載
供稿:網友

c#介紹
我們知道,c和c++已經成為廣泛的應用在商用軟件的開發中的開發語言。但是c和c++的靈活性是犧牲了開發效率的。如果與其他的開發語言相比(比如說vb,delphi),相同功能的c/c++軟件通常會需要更長的開發周期,要寫更多的代碼。正是由于c/c++開發的復雜性和需要較長的開發周期,所以許多c/c++開發人員都在尋找一種可以在功能和開發效率間提高更多平衡的開發語言。 于是microsoft想到了c#(發音為 c sharp),并推出了c#。2000年6月 微軟發布c#語言和.net平臺。c#語言是一種強類型的、面向對象的語言、它具有語法簡單、表達力強的特點;而.net平臺則是構成微軟的“.net計劃”的基石。.net平臺的核心包括兩方面 一方面就是著名的通用語言運行機(common language runtime) 雖然這個名詞起得晦澀了點 不過大家可以拿它和java的虛擬機來作比較,二者完成的任務大致相同,另一方面就是一大堆通用函數庫,這些庫函數可以被多種語言調用,并且通過編譯都產生一種共同的中間語言(intermediate language),這種語言也可以拿java的字節碼來類比,雖然完成的方式有些不一樣。c#是一種先進,面向對象的語言,通過c#可以讓開發人員快速的建立大范圍的基于ms網絡平臺的應用,并且提供大量的開發工具和服務幫助開發人員開發基于計算和通信的各種應用。 正是由于c#是一種面向對象的開發語言,所以c#可以大范圍的適用于高層商業應用和底層系統的開發。即使是通過簡單的c#構造也可以各種組件方便的轉變為基于web的應用,并且能夠通過internet被各種系統或是其他開發語言所開發的應用調用。
它有以下的特點: 開發效率與安全性
目前的各種基于web應用的軟件開發向傳統的商業應用軟件開發提出了挑戰,開發者被組織起來開發具有更短開發周期的各種應用,并且需要能夠提供更好的可修正性,而不是建立一個可以長久使用的軟件系統。
c#的設計正是充分考慮了這些因素。c#會幫助開發者通過更少的代碼完成相同的功能,并且能夠更好的避免錯誤發生。
與相結合
新的開發模式意味著需要更好的利用現有的各種,例如html,xml,soap(簡單對象存取協議)?,F存的開發工具是在internet出現前或是未得到充分應用前出現的,所以都不能很好的適應目前web技術的開發需要。
c#開發者可以方便的在m$網絡平臺上擴展自己的應用。c#可以將任何組件轉變為web服務,并且可以被運行于internet上的任何平臺的任何應用調用,重要的是c#對這一特性提供了內置的支持。
更重要的一點,web服務框架可以讓任何web服務都看起來類似于c#的內置對象,所以可以讓開發人員在開發過程中繼續使用他們已經具備的面向對象的開發方法和技巧。
此外c#還擁有許多其他特性使自己成為最出色的internet開發工具。例如,xml目前已經成為網絡中數據結構傳送的標準,為了提高效率c#將允許直接將xml數據映射成為結構。這樣的話可以有效的處理各種數據。
減小開發中的錯誤
即使是優秀的c/c++開發人員都難于避免在編碼過程出現一些常見錯誤,比如錯誤的初始化一個變量,而這種錯誤將有可能導致各種不可以預知的錯誤,并且難于被發現。如果一旦錯誤在發現前被投入生產環境,排除這些錯誤將會付出昂貴的代價。而c#的先進設計思想可以消除c/c++開發中的許多常見錯誤,比如:
垃圾收集機制將減輕開發人員對內存的管理負擔。 c#中的變量將自動根據環境被初始化。 變量是類型安全的。 使用c#將會使開發人員更加輕易的開發和維護各種商業應用。
提供內置的版本支持來減少開發費用
更新軟件系統中的組件(模塊)將會是一種容易產生錯誤的工作,在代碼修改過程中可能對現存的軟件產生影響。為了幫助開發人員處理這些問題,c#在語言中內置了版本控制功能。例如:函數重載必須被顯式的聲明(這種情況在c++和java中時常發生),這可以防止代碼級錯誤和保留版本化的特性。另一個相關的特性是接口和接口繼承的支持。這些特性可以保證復雜的軟件可以被方便的開發和升級。
總結起來,這些特性可以幫助開發更強壯的軟件后繼版本和減輕開發費用。
功能強,易于表現,靈活
更好的結合商業應用中的流程與軟件實現
為了更好實現公司的各種商業計劃,在軟件系統中必須在商業流程和軟件實現間有緊密的聯系。但是大多數的開發語言都不能輕易的將各種應用邏輯與代碼相聯系。例如,開發人員會使用各種注釋來標明各種類所代表抽象商業對象。c#允許使用在任何對象上使用預定義數據或是經過擴展的元數據。在系統結構中可以使用區域屬性(譯者:類似nt的網絡域結構),并且將這些屬性添加到類,接口或者其他元素上。開發者可以獨立的測試各種元素上的屬性。這將會使得一些如同收集區域中對象屬性,或是編寫自動工具來保證的區域中的類,接口是否被正確定義的類似工作變得簡單。
可擴展的協作能力
雖然管理性強,透明型好,類型安全的開發環境對大多的商業應用都適合,但現實的經驗告訴我們一些應用出于執行效率或是與現存的應用接口api相結合的原因需要使用原有的開發方式來進行編碼。也正是如此,許多c/c++開發人員寧愿放棄使用一些可以提高開發效率的開發工具。c#通過下面的方法來解決這些問題:
內置支持com模型和windows平臺api。
允許有限制的使用指針。
在c#中任何對象都會自動成為com對象,開發者不再需要顯式的實現iunknown和其他一些com接口,同時也可以方便而自然的使用現存的com對象,而不需要關心這些com對象是否使用c#開發。
對于使用c#的開發人員來講,c#允許開發人員調用os所提供的api。在經過標記的代碼區域內使用指針并手工管理內存分配。這可以讓c/c++開發人員更快的熟悉和轉向c#和并且不需要放棄在以前開發中所形成的開發習慣,而且以前的c/c++代碼依然可以被重用。無論是對于com的支持還是對于api調用的支持都是為了為開發人員提供足夠的開發控制能力。 
 


c#和java
二者都編譯成跨平臺的,跨語言的代碼,并且代碼只能在一個受控制的環境中運行
自動回收垃圾內存,并且消除了指針(在c#中可以使用指針,不過必須注明unsafe關鍵字)
都不需要頭文件,所有的代碼都被“包(package)”限制在某個范圍內,并且因為沒有頭文件,所以消除了類定義的循環依賴
所有的類都是從對象派生出來,并且必須使用new關鍵字分配內存
用對象加鎖的方式來支持多線程
都具有接口(interface)的概念
繼承類的時候不會以某種特定的訪問權限來繼承??
沒有全局函數或者常量,一切必須屬于類??
數組或者字符串都自帶長度計算和邊界檢查??
只使用“.”操作符,沒有“->”和“::”??
“null”,“boolean”和“bool”成為了關鍵字??
任何變量均在使用前進行初始化??
不能使用整數來返回到if條件語句中,必須使用布爾值??
“try”模塊後可以有“finally” ??


總之,c#是一種先進的,面向對象的開發語言,并且能夠方便快捷的ms網絡平臺建立各種應用和建立能夠在網絡間相互調用的web服務。從開發語言的角度來講c#可以更好幫助開發人員避免錯誤,提高工作效率,而且同時具有c/c++的強大功能。

,歡迎訪問網頁設計愛好者web開發。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鸡西市| 甘南县| 永川市| 如东县| 榕江县| 长丰县| 友谊县| 永兴县| 融水| 三亚市| 甘泉县| 沙河市| 庆安县| 鄂托克前旗| 平定县| 修武县| 方正县| 阳曲县| 高雄市| 鄂州市| 平顺县| 萍乡市| 三江| 定结县| 内乡县| 怀柔区| 平邑县| 浪卡子县| 资兴市| 商水县| 砀山县| 方正县| 武威市| 南郑县| 梁山县| 邢台市| 洞头县| 荔浦县| 西乡县| 东兰县| 聂拉木县|