程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#簡介

C#簡介

編輯:C#基礎知識

  在過去的二十年裡,C和C++已經成為在商業軟件的開發領域中使用最廣泛的語言。它們為程序員提供了十分靈活的操作,不過同時也犧牲了一定的效率。與諸如Microsoft? Visual Basic? 等語言相比,同等級別的C/C++應用程序往往需要更長時間來開發。由於C/C++語言的復雜性,許多程序員都試圖尋找一種新的語言,希望能在功能與效率之間找到一個更為理想的權衡點。

  目前有些語言,以犧牲靈活性的代價來提高效率。可是這些靈活性正是C/C++程序員所需要的。這些解決方案對編程人員的限制過多(如屏蔽一些底層代碼控制的機制),其所提供的功能難以令人滿意。這些語言無法方便地同早先的系統交互,也無法很好地和當前的網絡編程相結合。

  對於C/C++用戶來說,最理想的解決方案無疑是在快速開發的同時又可以調用底層平台的所有功能。他們想要一種和最新的網絡標准保持同步並且能和已有的應用程序良好整合的環境。另外,一些C/C++開發人員還需要在必要的時候進行一些底層的編程。

  微軟推出C#

  C# (C sharp) 是微軟對這一問題的解決方案。C#是一種最新的、面向對象的編程語言。它使得程序員可以快速地編寫各種基於Microsoft .NET平台的應用程序,Microsoft .NET提供了一系列的工具和服務來最大程度地開發利用計算與通訊領域。

  正是由於C#面向對象的卓越設計,使它成為構建各類組件的理想之選——無論是高級的商業對象還是系統級的應用程序。使用簡單的C#語言結構,這些組件可以方便的轉化為XML 網絡服務,從而使它們可以由任何語言在任何操作系統上通過Internet進行調用。

  最重要的是,C#使得C++程序員可以高效的開發程序,而絕不損失C/C++原有的強大的功能。因為這種繼承關系,C#與C/C++具有極大的相似性,熟悉類似語言的開發者可以很快的轉向C#。

  效率與安全性

  新興的網絡經濟迫使商務企業必須更加迅速的應對競爭的威脅。開發者必須不斷縮短開發周期,不斷推出應用程序的新版本,而不僅僅是開發一個“標志性”的版本。

  C#在設計時就考慮了這些問題。它使開發者用更少的代碼做更多的事,同時也不易出錯。

  支持現有的網絡編程新標准

  新的應用程序開發模型意味著越來越多地解決方案依賴於新出現的網絡標准,例如HTML,XML,SOAP等。現存的開發工具往往都是早於Internet出現的,或者是在我們所熟知的網絡還處於孕育期時出現的。所以,它們一般無法很好地支持最新的網絡技術。

  C#程序員可以在Microsoft .NET平台上事半功倍的構建應用程序的擴展框架。C#包含了內置的特性,使任何組件可以輕松轉化為XML網絡服務,通過Internet被任何操作系統上運行的任何程序調用。

  更突出的是,XML網絡服務框架可以使現有的XML網絡服務對程序員來說就和C#對象一樣。這樣,程序員就可以方便地使用他們已有的面向對象的編程技巧來開發利用現有的XML網絡服務。

  還有一些精細的特性,使得C#成為一流的網絡編程工具。例如,XML正逐漸成為在網絡上傳輸結構化數據的標准。這種數據集合往往非常小。為提高性能,C#允許把XML數據直接映射到struct數據類型,而不是class。這樣對處理少量的數據非常有效。

  消除大量程序錯誤  

  即使是專家級的C++程序員也常會犯一些最簡單的小錯誤——比如忘了初始化變量,但往往就是這些小錯誤帶來了難以預料的問題,有些甚至需要很長時間來尋找和解決。一旦一個程序作為產品來使用,就算最簡單的錯誤糾正起來也可能要付出極其昂貴的代價。

  C#的現代化設計能夠消除很多常見的C++編程錯誤。 例如:

  1. 資源回收減輕了程序員內存管理的負擔。

  2. C#中變量由環境自動初始化。

  3. 變量是類型安全的。

  這樣,程序員編寫與維護那些解決復雜商業問題的程序就更方便了。

  對版本的更新提供內在的支持降低了開發成本

  更新軟件組件是一項很容易出錯的工作,因為代碼的修改可能無意間改變原有程序的語義。為協助開發者進行這項工作,C#為版本的更新提供內在的支持。例如,方法重載必須顯式聲明。這樣可以防止編碼錯誤,保證版本更新的靈活性。還有一個相關的特性就是對接口和接口繼承的內在支持。這些特性使得C#可以開發復雜的框架並且隨著時間不斷發展更新它。

  總體來說,這些特性使得開發程序項目的後續版本的過程更加健壯,從而減少後續版本的開發成本。

  商業過程和軟件實現的更好對應

  企業的商業計劃要付諸現實,必須在抽象的商業過程和實際的軟件實現之間建立緊密地對應。不過大多數語言都很難做到這點。例如,如今的程序員們一般使用代碼注釋來注明哪個類對應於某個抽象的商業對象。

  C#語言允許類型定義的,擴展的元數據。這些元數據可以應用於任何對象。項目構建者可以定義領域特有的屬性並把他們應用於任何語言元素-類,接口等等。然後,開發人員可以編程檢查每個元素的屬性。這樣,很多工作都變得方便多了,比如編寫一個小工具來自動檢查每個類或接口是否被正確定義為某個抽象商業對象的一部分,或者只是創建一份基於對象的領域特有屬性的報表。定制的元數據和程序代碼之間的緊密對應有助於加強程序的預期行為和實際實現的之間的對應關系。

  擴展交互性

  作為一種自動管理的,類型安全的環境,C#適合於大多數企業應用程序。但實際的經驗表明有些應用程序仍然需要一些底層的代碼,要麼是因為基於性能的考慮,要麼是因為要與現有的應用程序接口兼容。這些情況可能會迫使開發者使用C++, 即使他們本身寧願使用更高效的開發環境。

  C#采用以下對策來解決這一問題:

  1. 內置對組建對象模型(COM)和基於Windows?的API的支持;

  2.允許有限制地使用純指針(Native Pointer)。

  在C#中,每個對象都自動生成為一個COM對象。開發者不再需要顯式的實現IUnknown和其他COM接口.這些功能都是內置的.類似的,C#可以調用現有的COM對象,無論它是由什麼語言編寫的。

  C#包含了一個特殊的功能,使程序可以調用任何純API。在一段特別標記的代碼中,開發者可以使用指針和傳統C/C++特性,如手工的內存管理和指針運算。這是其相對於其它環境的極大優勢。這意味著C#程序員可以在原有的C/C++代碼的基礎上編寫程序,而不是徹底放棄那些代碼。

  無論是支持COM還是純API的調用,都是為了使開發者在C#環境中直接擁有必要的強大功能。

  結論

  C#是一種現代的面向對象語言。它使程序員快速便捷地創建基於Microsoft .NET平台的解決方案。這種框架使C#組件可以方便地轉化為XML網絡服務,從而使任何平台的應用程序都可以通過Internet調用它。

  C#增強了開發者的效率,同時也致力於消除編程中可能導致嚴重結果的錯誤。C#使C/C++程序員可以快速進行網絡開發,同時也保持了開發者所需要的強大性和靈活性。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved