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