《C#3.0 in a Nutshell,3rd Edition》之C#3.0和.net3.5基本介紹

來源:互聯網
上載者:User

前言

C#3.0是一門物件導向的程式設計語言,具有多用途和型別安全等特 征。為實現開發和學習的高效性,她在語言的簡單,易表達,以及可程式化性上做 了很大努力。使得新人能夠很快入門,開發人員能夠快速開發出程式。但這些並不 是損害語言的功能為前提的。

本文

one Section  C#的面向對 象性(Object Orientation)

C#同JAVA一樣是物件導向的語言,具有封裝 (encapsulation),多態(polymorphism),繼承(polymorphism)的特性。但是她 也有著區別其它物件導向語言的特點。

a.統一的類型系統(Unified type system)

就是說所有的類型(Type)都是共用一個通用基礎類型(Common base Type).無論實值型別或參考型別就是繼承自System.object.而object所擁 有的方法所有類型都可以使用,如:ToString(),Equals()等。

b.類 (Class)和介面(Interface)

在傳統的物件導向語言中只有類這一種表現 形式,而在C#(Java)中卻有了介面(Interface),介面是一種只有定義沒有實現 的類,由於C#是一種單類繼承語言,所以介面就顯得格外有用,一個類可以繼承 多個介面,彌補了單類繼承帶來的不足。(單類繼承應該是語言設計者有意這麼 做的,大概是為了保證類的純淨)。

c.屬性(Properties),方法(Methods) 和事件(Events)

傳統的面象對象語言只有Methods,而C#增加了屬性和方 法,這些特性豐富了我們編程,特別是做一些組件和控制項開發的時候就顯得特別 有用。

two section C#的型別安全(Type Safety)

C#是一門強類 型語言,也就是說你定義了Int參數的方法,不用用float參數去調用。編譯器 (Complier)會去強製做類型檢查,不匹配的類型是會拋出異常(Exception)並提 示錯誤,變數的定義也是如此。隨著VS的IDE功能不斷強大,已經提供了智能感 知(IntelliSense)的功能,讓我們提前排除這些錯誤。

另外在c#3.0中出 現了Var,但這也是一種強型別,編譯器會根據上下文,進行類型推斷出她的類 型。

three section .net的記憶體管理(Memory Management)

C#運 行在一個運行時(Common Lanague Runtime)上,這個CLR具有強大的功能,她幫 我們管理著程式所用的記憶體。她有著記憶體管理,記憶體回收,線程管理等功能。這 樣就方便了我們編程,不需要想C++那樣需要自己寫大量的代碼來釋放資源,所 以理論上時不會出現記憶體流失的情況的。

但是我個人覺最好不要偷懶, 象一些昂貴的資源還是手動的釋放比價好,比如:對印表機的調用,還有多線程 管理.防範式編程還是需要的。

CLR的記憶體回收一般是有兩個線程來運作 的,對於普通的對象的回收器就是直接覆蓋堆棧,而對比較昂貴的資源暫時無法 回收的,就會放到另外一個線程上,等到安全點的來臨時進行回收。這方面可以 到網上找找介紹資料。

four section C#的多平台支撐(Platfrom Support)

C#和CLR都是符合ECMA的標準。 C#的代碼通常是運行在windows 平台上,但是卻不妨礙她運行在其它的系統上如:Linux, Solaris, Mac OS X。.net framework為我們提供了統一的編程模型,所以我們只要針對.net編程 ,而不需要考慮系統的差異性。

C#的代碼也可以運行在Silverlight這個 宿主(host)上,她是微軟新推出的一項技術。

five section C#和通用語 言運行時(CLR)的關係

C#是.運行在CLR上的眾多語言之一,她依賴著.net 提供的記憶體管理等服務。

six section 通用語言進行時(CLR)和.net Framework的關係

.net framework 是由CLR和一大堆,一系列的類組成。 這個巨大的類庫又分成了核心類(Core libraries)和應用類(applied libraries),應用類是依靠核心類的。

如圖:(圖片來自書)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.