《CLR via C#(第4版)》針對(duì)CLR和.NET Framework 4.5進(jìn)行深入、全面的探討,并結(jié)合實(shí)例介紹了如何利用它們進(jìn)行設(shè)計(jì)、開(kāi)發(fā)和調(diào)試。全書(shū)5部分共29章。第Ⅰ部分介紹CLR基礎(chǔ),第Ⅱ部分解釋如何設(shè)計(jì)類(lèi)型,第Ⅲ部分介紹基本類(lèi)型,第Ⅳ部分以核心機(jī)制為主題,第Ⅴ部分重點(diǎn)介紹線程處理。
通過(guò)本書(shū)的閱讀,讀者可以掌握CLR和.NET Framework的精髓,輕松、高效地創(chuàng)建高性能應(yīng)用程序。
© 2014 Tsinghua University Press Limited
Authorized translation of the English edition of Microsoft CLR via C#, 4th Edition.
Copyright © 2012 by Jeffrey Richter. This translation is published and sold by permission of O'Reilly Media, Inc., which owns or controls of all rights to publish and sell the same.
本書(shū)中文版由O'Reilly Media, Inc.授權(quán)給清華大學(xué)出版社出版發(fā)行,未經(jīng)出版者許可,不得以任何方式復(fù)制或抄襲本書(shū)的任何部分。
1999年10月,Microsoft的一些人首次向我展示了Microsoft .NET Framework、公共語(yǔ)言運(yùn)行時(shí)(CLR)和C#編程語(yǔ)言?吹竭@一切時(shí),我驚呆了,我知道我寫(xiě)軟件的方式要發(fā)生非常大的變化了。他們請(qǐng)我為團(tuán)隊(duì)做一些顧問(wèn)工作,我當(dāng)即同意了。剛開(kāi)始,我以為.NET Framework是Win32 API和COM上的一個(gè)抽象層。但隨著我投入越來(lái)越多的時(shí)間研究,我意識(shí)到它是一個(gè)更宏偉的項(xiàng)目。某種程度上,它是自己的操作系統(tǒng)。有自己的內(nèi)存管理器,自己的安全系統(tǒng),自己的文件加載器,自己的錯(cuò)誤處理機(jī)制,自己的應(yīng)用程序隔離邊界(AppDomain)、自己的線程處理模型等。本書(shū)解釋了所有這些主題,幫你為這個(gè)平臺(tái)高效地設(shè)計(jì)和實(shí)現(xiàn)應(yīng)用程序和組件。
我寫(xiě)這本書(shū)是2012年10月,距離首次接觸.NET Framework和C#正好13年。13年來(lái), 我以Microsoft顧問(wèn)身份開(kāi)發(fā)過(guò)各式各樣的應(yīng)用程序,為.NET Framework本身也貢獻(xiàn)良多。作為我自己公司W(wǎng)intellect(http://Wintellect.com)的合伙人,我還要為大量客戶工作,幫他們?cè)O(shè)計(jì)、調(diào)試、優(yōu)化軟件以及解決使用.NET Framework時(shí)遇到的問(wèn)題。正是因?yàn)橛辛诉@些資歷,所以我才知道如何用.NET Framework進(jìn)行高效率編程。貫穿本書(shū)所有主題,你都會(huì)看到我的經(jīng)驗(yàn)之談。
本書(shū)面向的讀者
本書(shū)旨在解釋如何為.NET Framework開(kāi)發(fā)應(yīng)用程序和可重用的類(lèi)。具體地說(shuō),我要解釋CLR的工作原理及其提供的功能,還要討論Framework Class Library(FCL)的各個(gè)部分。沒(méi)有一本書(shū)能完整地解釋FCL——其中含有數(shù)以千計(jì)的類(lèi)型,而且這個(gè)數(shù)字正在以驚人速度增長(zhǎng)。所以,我準(zhǔn)備將重點(diǎn)放在每個(gè)開(kāi)發(fā)人員都需要注意的核心類(lèi)型上面。另外,雖然不會(huì)專(zhuān)門(mén)講Windows窗體、Windows Presentation Foundation(WPF)、Microsoft Silverlight、XML Web服務(wù)、Web窗體、Microsoft ASP.NET MVC、Windows Store應(yīng)用等,但本書(shū)描述的技術(shù)適用于所有這些應(yīng)用程序類(lèi)型。
本書(shū)圍繞Microsoft Visual Studio 2012/2013,.NET Framework 4.5.x和C# 5.0展開(kāi)。由于Microsoft在發(fā)布這些技術(shù)的新版本時(shí),會(huì)試圖保持很大程度的向后兼容性,所以本書(shū)描述的許多內(nèi)容也適合之前的版本。所有示例代碼都用C#編程語(yǔ)言寫(xiě)成。但由于CLR可由許多編程語(yǔ)言使用,所以本書(shū)內(nèi)容也適合非C#程序員。
我和我的編輯進(jìn)行了艱苦卓絕的工作,試圖為你提供最準(zhǔn)確、最新、最深入、最容易閱讀和理解、沒(méi)有錯(cuò)誤的信息。但是,即便有如此完美的團(tuán)隊(duì)協(xié)作,疏漏和錯(cuò)誤也在所難免。如果你發(fā)現(xiàn)了本書(shū)的任何錯(cuò)誤或者想提出一些建設(shè)性的意見(jiàn),請(qǐng)發(fā)送郵件到JeffreyR@Wintellect.com。
Jeffrey Richter,Wintellect聯(lián)合創(chuàng)始人。數(shù)十年如一日癡迷于Windows和.NET的大師,數(shù)十年以來(lái)影響了若干代程序員的靈魂人物,經(jīng)典著作《Windows核心編程》和《CLRviaC#》系列版本的締造者。他崇尚大道至簡(jiǎn),注重效率與實(shí)用性,尤其熱愛(ài)化繁為簡(jiǎn)—去蕪存菁。最值得一提的是,他特別擅長(zhǎng)授人以漁,能夠以通俗易懂、條理清晰的方式將普通讀者望而卻步的關(guān)鍵概念講得透徹,講得精彩。Jeffrey出版過(guò)12本W(wǎng)indows/.NET暢銷(xiāo)書(shū),曾經(jīng)擔(dān)任過(guò)MSDN Magazine特約編輯、Win32Q&A專(zhuān)欄作者、NETQ&A專(zhuān)欄作者和Concurrent Affairs(關(guān)于并發(fā)那些事兒)專(zhuān)欄作者。他還在很多全球性的商業(yè)研討會(huì)上發(fā)表演講。作為最懂Windows和NE丁的人,他從1990年開(kāi)始就以顧問(wèn)身份為微軟提供服務(wù)—他寫(xiě)的代碼先后被微軟的很多產(chǎn)品廣泛采用。此外,他還曾經(jīng)為AT&T、IBM、英特爾、夢(mèng)工廠、通用和惠普等提供過(guò)咨詢服務(wù)。Jeffrey愛(ài)好廣泛,他擁有飛機(jī)駕照和直升機(jī)駕照,是國(guó)際魔法師協(xié)會(huì)成員。他愛(ài)好音樂(lè)(尤其是20世紀(jì)70年代的爵士樂(lè)和前衛(wèi)搖滾樂(lè))、擊鼓、火車(chē)模型和空手道。他還喜歡旅游和戲劇。目前,他與愛(ài)妻Kristin及愛(ài)子Aidan和Grant居住在華盛頓州的柯克蘭。
周靖,認(rèn)真、踏實(shí)的資深譯者。微軟MVP(最有價(jià)值專(zhuān)家)。
第1部分CLR基礎(chǔ)
第1章CLR的執(zhí)行模型
第2章生成、打包、部署和管理應(yīng)用程序及類(lèi)型
第3章共享程序集和強(qiáng)命名程序集
第2部分設(shè)計(jì)類(lèi)型
第4章類(lèi)型基礎(chǔ)
第5章基元類(lèi)型、引用類(lèi)型和值類(lèi)型
第6章類(lèi)型和成員基礎(chǔ)
第7章常量和字段
第8章方法
第9章參數(shù)
第10章屬性
第11章事件
第12章泛型
第13章接口
第3部分基本類(lèi)型
第14章字符、字符串和文本處理
第15章枚舉類(lèi)型和位標(biāo)志
第16章數(shù)組
第17章委托
第18章定制特性
第19章可空值類(lèi)型
第4部分核心機(jī)制
第20章異常和狀態(tài)管理
第21章托管堆和垃圾回收
第22章CLR寄宿和AppDomain
第23章程序集加載和反射
第24章運(yùn)行時(shí)序列化
第25章與WinRT組件互操作
第5部分線程處理
第26章線程基礎(chǔ)
第27章計(jì)算限制的異步操作
第28章I/O限制的異步操作
第29章基元線程同步構(gòu)造
第30章混合線程同步構(gòu)造