天轟穿C#教程之C#有哪些特點?

來源:互聯網
上載者:User

  C#的核心文法和Java的文法很相似。然而,並不能說C#抄襲了Java。C#和Java都屬於C語言系列(包括C、Objective C、C++等),它們有類似的文法。正如Java在許多方面是C++的提煉版一樣,C#也可以視為Java的提煉版。

  

  實際上,C#的許多文法結構與VB 6.0和C++的很多方面都大有淵源。例如,與VB6類似,C#支援正式的類型屬性(property,即內部用get、set來實現)的概念(與傳統的擷取方法和設定方法相反),且支援方法使用參數數組。與C++類似,C#允許重載運算子,且支援建立結構、枚舉和使用委託。

  

  C#是多種語言的混合體,因此它像Java一樣文法簡潔,像VB6一樣使用簡單,像C++一樣功能強大和靈活(C#沒有像C++那樣麻煩的位操作)。

  

  作為一種重新設計的語言,C#具備了更多有用的特性而擯棄了很多缺點。同C++相比,C#至少具有如下的特徵:

  

  簡潔的文法結構

  

  從執行效率上講,C++無疑是一門優秀的程式設計語言。但其複雜的特性(指標、複雜的操作符、模板)往往讓人望而生畏。為了更容易被福士所接受,C#拋棄了那些實現複雜而又用處不大的特性,使得文法結構變得十分簡潔。比如,C#中不再使用"::"和"->"操作符,而統一用"."替代;再如,C#不再使用前向聲明(標頭檔聲明),因為聲明的順序對於程式而言其實不重要;再比如,C#中不使用#include關鍵字,基本不再使用指標。

  

  型別安全

  

  在.NET公用語言運行庫(Common Language Runtime)的支援下,C#支援一種稱之為型別安全(Type Safe)的記憶體訪問機制。通過這種方式,可以避免程式訪問不允許訪問的記憶體(沒有一個C++程式員敢聲稱自己沒有用指標存取過不屬於自己的記憶體),這樣就可以減少不當訪問引起的記憶體崩潰以及由此造成的安全性漏洞。

  

  自動記憶體管理(垃圾收集)

  

  在C++中,記憶體需要人工管理,即用new或者Alloc分配的記憶體必需在程式結束之前釋放掉。而這件事又很容易被程式員忽略,造成資源浪費和系統效能下降。C#的運行庫(也就是.NET的CLR)支援記憶體記憶體回收行程,會在運行過程中自動回收記憶體。

  

  與.NET類庫的完美結合

  

  Microsoft .NET架構提供一套物件導向的系統類別庫。由於這一套類庫是物件導向的,而且通過名字空間很好的組織,因此,在.NET下,C#語言(VB、Managed C++、Jscript)能很方便地應用這套類庫實現功能。當然,在C#中,也可以繞過.NET類庫直接存取Windows API,但這樣做的後果將是跨平台特性的喪失。因為其它的平台並不支援Windows API。

  

  跨平台、跨語言特性

  

  同Java一樣,作為新一代的程式設計語言,C#也支援跨平台特性。基於名為MSIL的中間代碼及不同平台上.NET的JIT編譯器,C#在這一方面並不比Java遜色(當然,要提供各種系統平台上的JIT支援,還需要一段時間)。此外,由於C#的運行是基於公用語言運行庫(CLR)及共用語言子集(CLS)的,因此還具備良好的跨語言特性。這將極大的方便應用系統的設計,C++、Java、VB、C#等語言可以相互無障礙的引用,而且這種範圍還在不斷擴大,據稱,現在COBOL等更多的語言也獲得了.NET平台的支援。

  

  其他支援.NET 的程式設計語言

  

  包含了Lambda運算子(=>),它可以進一步簡化.NET委託類型的使用。

  

  新的對象初始化文法,它允許我們在對象建立時設定屬性的值。

  

  關於C#語言,要理解的最重要的一點可能是,它產生的程式碼只能在.NET運行庫中執行(你不能用C#來構建原生COM伺服器或非託管的Win32 API應用程式)。正式的說法是,這種必須在.NET運行庫下執行的代碼稱為Managed 程式碼(managed code)。這些包含Managed 程式碼的二進位單元可以稱為程式集(assembly)。反之,不能或者不需要直接在.NET運行庫承載的代碼稱為Unmanaged 程式碼(unmanaged code)。

  

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.