出版時間:2009-11 出版社:人民郵電出版社 作者:米凱利斯 頁數(shù):610 譯者:周靖
Tag標(biāo)簽:無
前言
在軟件工程的發(fā)展歷史中,用于編寫計算機(jī)程序的方法經(jīng)歷了幾次思維模式的重大轉(zhuǎn)變.每一種思維模式都是以前一種為基礎(chǔ)的,其宗旨都是增強(qiáng)代碼的組織,并降低復(fù)雜性。本書將帶領(lǐng)你體驗相同的思維模式轉(zhuǎn)變過程.本書開始的幾章指導(dǎo)你學(xué)習(xí)順序編程結(jié)構(gòu)(sequential programming structure).在這種編程結(jié)構(gòu)中,語句是按照執(zhí)行順序來寫的。這種結(jié)構(gòu)的問題在于,隨著需求的增加,復(fù)雜性也將呈指數(shù)級增加。為了降低復(fù)雜性,將代碼塊轉(zhuǎn)變成方法,產(chǎn)生了結(jié)構(gòu)化編程模型(structuredprogrammingmodel)。在這種模型中,可以從一個程序中的多個位置調(diào)用同一個代碼塊,而不必在程序中重復(fù)這些代碼。然而,即使有這種結(jié)構(gòu),程序還是會很快變得臃腫不堪,需要進(jìn)行進(jìn)一步抽象。所以,在此基礎(chǔ)上,人們又提出了面向?qū)ο缶幊痰母拍?,這將在第5章進(jìn)行討論。在此之后,你將繼續(xù)學(xué)習(xí)其他編程方法,比如基于接口的編程和LINQ(以及它促使集合API發(fā)生的改變),并最終學(xué)習(xí)通過attribute進(jìn)行初級的聲明性編程(第17章)。本書有以下3個主要職能.全面講述C#語言,其內(nèi)容已經(jīng)遠(yuǎn)遠(yuǎn)超過了一本簡單的教程,為你進(jìn)行高效率軟件開發(fā)打下堅實的基礎(chǔ)。對于已經(jīng)熟悉了C#的讀者,本書探討了一些較為復(fù)雜的編程思想,并深入討論了在這種語言的最新版本(C#3.0和.NET.3.5)中引入的特性。它是你永遠(yuǎn)的案頭參考——即便在你精通了這種語言之后。成功學(xué)習(xí)C#的關(guān)鍵在于,要盡可能快地開始編程。不要等自己成為一名理論方面的“專家”之后,才開始寫代碼。所以,不要猶豫,馬上開始寫程序吧。作為迭代開發(fā)思想的追隨者,我希望即使是一名剛開始學(xué)習(xí)編程的新手,在學(xué)到本書第2章末尾的時候,也能動手開始寫基本的C#代碼。有許多主題都沒有在本書中進(jìn)行討論。你在本書找不到ASENET、ADO.NET、智能客戶端開發(fā)以及分布式編程等主題。雖然這些主題與.NET Framework有關(guān),但它們都值得用專門的書、分專題進(jìn)行講述。幸運(yùn)的是,已經(jīng)有豐富的圖書供讀者選擇。不過,在讀完本書之后,你在上述任何領(lǐng)域繼續(xù)深入學(xué)習(xí)都會有游刃有余的感覺。
內(nèi)容概要
本書是一部廣受好評的名作,作者用一種易于理解的方式詳細(xì)介紹了C#語言的各個方面。全書共有21章以及3個附錄,每章開頭的“思維導(dǎo)圖”指明本章要討論的主題,以及各個主題之間的層次關(guān)系。書中所包含的豐富的示例代碼和精要的語言比較,都對讀者理解C#語言有所裨益。本書介紹了C#語言的數(shù)據(jù)類型、運(yùn)算符、方法、類等基本概念,深入討論了泛型、迭代器、反射、線程和互操作性等高級主題,還介紹了語言集成查詢(LINQ)技術(shù),以及與其相關(guān)的擴(kuò)展方法、分部方法、Lambda表達(dá)式、標(biāo)準(zhǔn)查詢操作符和查詢表達(dá)式等內(nèi)容。 本書適合對C#感興趣的各個層次的讀者,無論對初學(xué)者還是有經(jīng)驗的開發(fā)者,本書都是一本很有價值的參考書。
作者簡介
Mark Michaelis 微軟MVP,微軟技術(shù)代言人,是intelliTechture公司的創(chuàng)始人和總裁,。他在C#開發(fā)方面有著很深的造詣,曾參與過C#和VSTS/TFS等多種微軟軟件產(chǎn)品的設(shè)計評審。本書是他的代表作。
書籍目錄
第1章 C#概述第2章 數(shù)據(jù)類型 第3章 運(yùn)算符和控制流 第4章 方法和參數(shù) 第5章 類 第6章 繼承 第7章 接口 第8章 值類型 第9章 合式類型 第10章 異常處理 第11章 泛型 第12章 委托和Lambda表達(dá)式 第13章 事件 第14章 支持標(biāo)準(zhǔn)查詢運(yùn)算符的集合接口 第15章 查詢表達(dá)式 第16章 構(gòu)建自定義集合 第17章 反射和attribute 第18章 多線程處理 第19章 多線程處理模式 第20章 平臺互操作性和不安全的代碼 第21章 CLI 附錄A 下載和安裝C#編譯器與CLI平臺 附錄B 完整源代碼清單 附錄C C# 3.0主題
章節(jié)摘錄
插圖:21.4.6 性能許多習(xí)慣于寫非托管代碼的程序員會一語道破天機(jī):托管環(huán)境為應(yīng)用程序帶來了額外的開銷,無論它有多簡單.這就要求開發(fā)者做出取舍:是不是可以犧牲運(yùn)行時的一些性能,換取更高的開發(fā)效率以及托管代碼中更少的bug數(shù)量?事實上,從匯編程序轉(zhuǎn)向C這樣的高級語言,以及從結(jié)構(gòu)化編程轉(zhuǎn)向面向?qū)ο箝_發(fā)時,我們都在進(jìn)行同樣的取舍。在大多數(shù)情況下,我們都選擇了開發(fā)效率的提升,尤其是在硬件速度越來越快但價格越來越便宜的今天。將較多的時間花在構(gòu)架設(shè)計上,相較于窮于應(yīng)付低級開發(fā)平臺的各種復(fù)雜性,前者更有可能帶來大幅的性能提升。另外,考慮到緩沖區(qū)溢出可能引發(fā)安全漏洞,托管執(zhí)行的吸引力變得更大了。毫無疑問,特定的開發(fā)情形(比如設(shè)備驅(qū)動程序)是不適合托管執(zhí)行的。然而,隨著托管執(zhí)行的功能越來越強(qiáng),對其性能的擔(dān)心會變得越來越少。最終,只有在要求精確控制的場合,或者要求必須拿掉“運(yùn)行時”的場合,才需要用到非托管執(zhí)行”。此外,“運(yùn)行時”的一些特別設(shè)計可以使程序的性能優(yōu)于本機(jī)編譯。例如,由于到機(jī)器碼的轉(zhuǎn)換是在目標(biāo)機(jī)器上發(fā)生的,所以生成的編譯代碼能夠與那臺機(jī)器的處理器和內(nèi)存布局完美匹配。相反,非JIT編譯的語言是無法獲得這一性能優(yōu)勢的。另外,“運(yùn)行時”能靈活響應(yīng)執(zhí)行時的一些突發(fā)狀況。相反,已直接編譯成機(jī)器碼的程序是無法照顧到這些情況的。例如,在目標(biāo)機(jī)器上的內(nèi)存非常富余的時候,非托管語言仍然會刻板地執(zhí)行既定計劃,在編譯時定義的位置回收內(nèi)存(確定性析構(gòu))。相反,支持ⅡT編譯的語言只有在運(yùn)行速度變慢或者程序關(guān)閉的時候才會回收內(nèi)存。雖然JIT編譯為執(zhí)行過程添加了一個額外的編譯步驟,但JIT編譯器能帶來代碼執(zhí)行效率的大幅提升,使程序的最終性能仍然優(yōu)于直接編譯成機(jī)器碼的程序。
媒體關(guān)注與評論
“本書首先會讓你掌握語言是如何工作的,然后在需要快速找到答案的時候,它又可以作為一本參考書來使用。對于那些想要了解微軟最新技術(shù)的開發(fā)者,本書也會成為你的良師益友,幫助你理清不斷變化的技術(shù)趨勢。” ——Charlie Calvert,微軟Visual C#社區(qū)項目經(jīng)理
編輯推薦
《C#本質(zhì)論(第2版)》語言簡明透徹,不僅討論了C#的類數(shù)據(jù)類型、運(yùn)算符、方法、類等基本概念,也講解了泛型、迭代器、反射、線程、互操作性等高級主題,還介紹了全新的語言集成查詢(UNQ)技術(shù).以及與其相關(guān)的擴(kuò)展方法、隱-式類型的變量、分部方法、Lambda表達(dá)式、表達(dá)式樹、匿名類型、標(biāo)準(zhǔn)查詢操作符和查詢表達(dá)式等重要內(nèi)容。書中的代碼示例、思維導(dǎo)圖和語言對比等內(nèi)容,都對介紹C#的強(qiáng)大特性起到了很好的輔助作用,從而使讀者可以對C#有更為直觀的認(rèn)識。這樣一件由作者精心打造的C#編程利器,讓初學(xué)者可以在探索路上披荊斬棘.讓開發(fā)者可以在工作中游刃有余?!禖#本質(zhì)論(第2版)》是微軟技術(shù)代言人扛鼎之作,結(jié)合代碼深入淺出探討C#3.O的強(qiáng)大特性,C#開發(fā)必備利器。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載