商品簡介
《CLR via C#(第3版)》針對CLR和.NET Framework 4.0進行深入、全面的探討,并結合實例介紹了如何利用它們進行設計、開發和調試。《CLR via C#(第3版)》5部分29章。第Ⅰ部分介紹CLR基礎,第Ⅱ部分解釋如何設計類型,第Ⅲ部分介紹基本類型,第Ⅳ部分以實用特性為主題,第Ⅴ部分花大量篇幅重點介紹線程處理。
作者簡介
作者:(美國)瑞奇特(Jeffrey Richter) 譯者:周靖
瑞奇特,(Jeffrey,Richter) Wintellect公司的創始人之一.該公司從事培訓、調試和諮詢,致力于幫助其他公司以更快的速度開發出更優秀的軟件。他著作頗豐.代表作有暢銷書《windows核心編程》和《CLR via C#》。他還是MSDN Magazine的特約編輯和專欄作家。
周靖,從1983年接觸蘋果機開始,“浸染”IT業數十年,涉獵廣泛,具有深厚的技術功底和良好的文學素養早期癡迷于硬件,曾擔任《微型計算機》雜志特約作者多年。繼而潛心鉆研編程,并樂在其中,積累了豐富的經驗,其翻譯風格嚴謹、準確、樸實、流暢,深受讀者歡迎。代表譯著有《c++面向對象程序設計》(walter Savitch著)、《windows核心編程》(Jeffrey Richter著)和《c++圖形與遊戲編程基礎》(Tony Gaddis著)等,業余時間,聽音樂和看電影是他的愛好。
目次
第I部分 CLR基礎
第1章 CLR的執行模型
1.1 將源代碼編譯成托管模塊
1.2 將托管模塊合併成程序集
1.3 加載公共語言運行時
1.4 執行程序集的代碼
1.4.1 IL和驗證
1.4.2 不安傘的代碼
1.5 本地代碼生成器:NGen.exe
1.6 Framework類庫
1.7 通用類型系統
1.8 公共語言規範
1.9 與非托管代碼的互操作性
第2章 生成、打包、部署和管理應用程序及類型
2.1.NETFramework部署目標
2.2 將類型生成到模塊中響應文件
2.3元數據概述
2.4 將模塊合併成程序集
2.4.1 使用Visual Studio IDE將程序集添加到項目中.
2.4 :2使用程序集鏈接器
2.4.3 為程序集添加資源文件
2.5 程序集版本資源信息
2.6 語言文化
2.7 簡單應用程序部署(私有部署的程序集)
2.8 簡單管理控制(配置)
第3章 共享程序集和強命名程序集
3.1 兩種程序集,兩種部署
3.2 為程序集分配強名稱
3.3 全局程序集緩存
3.4 在生成的程序集中引用一個強命名程序集
3.5 強命名程序集能防范篡改
3.6 延遲簽名
3.7 私有部署強命名程序集
3.8 “運行時”如何解析類型引用
3.9 高級管理控制(配置)發布者策略控制
第II部分 設計類型
第4章 類型基礎.
4.1 所有類型都從System Object派生
4.2 類型轉換
4.3 命名空間和程序集
4.4 運行時的相互聯系
第5章 基元類型、引用類型和值類型
5.1 編程語言的基元類型
5.2 引用類型和值類型
5.3 值類型的裝箱和拆箱
5.3.1 使用接口更改已裝箱值類型中的字段(以及為什麼不應該這樣做)
5.3.2 對象相等性和同一性
5.4 對象哈希碼
5.5 dynamic基元類型
第6章 類型和成員基礎
6.1 類型的各種成員
6.2 類型的可見性
友元程序集
6.3 成員的可訪問性
6.4 靜態類
6.5 分部類、結構和接口
6.6 組件、多態和版木控制
6.6.1 CLR如何調用虛方法、屬十和事件
6.6.2 合理使用類型的可見性和成員的可訪問性
6.6.3對類型進行版本控制時的虛方法的處理
第7章 常量和字段
7.1 常量
7.2字段
第8章 方法
8.1 實例構造器和類(引用類型)
8.2 實例構造器和結構(值類型)
8.3 類型構造器
8.4 操作符重載方法
8.5 轉換操作符方法
8.6 擴展方法
8.6.1 規則和原則
8.6.2 用擴展方法擴展各種類型
8.6.3 Extension Attribute類
8.7 分部方法
第9章參數
9.1 可選參數和命名參數
9.1.1 規則和原則
9.1.2 DefaultParameterValueAttribute和OptionalAttribute
9.2 隱式類型的局部變量
9.3 傳引用的方式向方法傳遞參數
9.4 向方法傳遞可變數量的參數
9.5 參數和返回類型的指導原則
9.6 常量性
第10章 屬性
10.1 無參屬性
10.1.1 自動實現的屬性
10.1.2 合理定義屬性
10.1.3 對象和集合初始化器
10.1.4 匿名類型
10.1.5 SystemTuple類型
l0.2 有參屬性
10.3 調用屬性訪問器方法時的性能
10.4 屬性訪問器的可訪問性
10.5 泛型屬性訪問器方法
第11章 事件
11.1 設計要公開事件的類型
11.1.1 第一步:定義類型來容納所需要發送給事件通知接收名的附加信息
11.1.2 第二步:定義事件成員
11.1.3第三步:定義負責引發事件的方法來通知事件的登記對象
11.1.4 第四步:定義方法將輸入轉化為期望事件
11.2 編譯器如何實現事件
11.3 設計偵聽事件的類型
11.4 顯式實現事件
第12章 泛型
12.1 Framework類庫巾的泛型
l2.2 Wintellect的PowerCollections庫
12.3泛型基礎結構
12.3.1 開放類型和封閉類型
12.3.2 泛型類型和繼承
12.3.3泛型類型同一性
12.3.4 代碼爆炸
12.4 泛型接口
12.5 泛型委托
12.6 委托和接口的逆變和協變泛型類型實參
12.7 泛型方法
12.8 泛型和其他成員
12.9 可驗證性和約束
12.9.1 主要約束
12.9.2 次要約束
12.9 .3構造器約束
12.9.4 其他可驗證性問題
第III部分 基本類型
第13章接口
13.1 類和接口繼承
13.2 定義接口
13.3 繼承接口
13.4 關於調用接口方法的更多探討
13.5 隱式和顯式接口方法實現(幕後發生的事情)
13.6 泛型接口
13.7 泛型和接口約束
13.8 實現多個具有相同方法名和簽名的接口
13.9 用顯式接口方法實現來增強編譯時類型安全性
13.10 謹慎使用顯式接口方法實現
13.11 設計:基類還是接口
第14章 字符、字符串和文本處理
14.1 字符
14.2 System. String類型
14.2.1 構造字符串
14.2.2 字符串是不可變的
14.2.3 比較字符串
14.2.4 字符串留用
14.2.5 字符串池
14.2.6 檢查字符串中的字符和文本元素
14.2.7 其他字符串操作
14.3高效率構造字符串
14.3.1 構造String Builder對象
14.3.2 StringBuilder的成員
14.4 獲取對象的字符串表示:ToString
14.4.1 指定具體的格式和語言文化
14.4 .2將多個對象格式成一個字符串
14.4 .3提供定制格式化器
14.5 解析字符串來獲取對象:Parse
14.6 編碼:字符和字節的相互轉換
14.6.1 字符和字節流的編碼和解碼
14.6.2 Base.6 4字符串編碼和解碼
14.7 安全字符串
第15章 枚舉類型和位標志
15.1 枚舉類型
15.2位標志
15.3向枚舉類型添加方法
第16章 數組
16.1 初始化數組元素
16.2 數組轉型
16.3 所有數組都隱式派生自System Array
16.4 所有數組都隱式實現。IEnumerablelcollection和IList
16.5 數組的傳遞和返回
16.6 創建下限非零的數組
16.7 數組的訪問性能
16.8 不安傘的數組訪問和固定大小的數組
第17章 委托
17.1 初識委托
17.2用委托回調靜態方法
17.3用委托回調實例方法
17.4 委托揭秘
17.5 用委托回調許多方法(委托鏈)
17.5.1 C舟對委托鏈的支持
17.5 .2取得對委托鏈調用的更多控制
17.6 委托定義太多(泛型委托)
17.7 C#為委托提供的簡化語法
17.7.1 簡化語法1:不需要構造委托對象
17.7.2 簡化語法2:不需要定義回調方法
17.7 .3簡化語法3:局部變量不需要手動包裝到類中即可傳給回調方法
17.8 委托和反射
第18章 定制attribute
18.1 使用定制attribute
18.2 定義自己的attribute類
18.3 attribute的構造器和字段/屬性的數據類型
18.4 檢測定制attribute
18.5 兩個attribute實例的相互匹配
18.6 檢測定制attribute時不創建從Attribute派生的對象
18.7 條件attribute類
第19章 可空值類型
19.1 C#對可窄值類型的支持
19.2 C#的空接合操作符
19.3 CLR對可空值類型的特殊支持
19.3.1 可空值類型的裝箱
19.3.2 可空值類型的拆箱
19.3 .3通過可空值類型調用Get Type
19.3.4 通過可空值類型調用接口方法
第Ⅳ部分 核心機制
第20章 異常和狀態管理
20.1 定義“異常
20.2 異常處理機制
20.2.1 try塊
20.2.2 catch塊
20.2 .3finalb,塊
20.3System.Exception類
20.4 FCL定義的異常類
20.5 拋出異常
20.6 定義自己的異常類
20.7 用可靠性換取開發效率
20.8 指導原則和最佳實踐
20.8.1 善用finally塊
20.8 12不要什麼都捕捉
20.8 .3得體地從異常中恢復
20.8.4 發生不可恢復的異常時回滾部分完成的操作——維持狀態
20.8.5 隱藏實現細節來維系契約
20.9 未處理的異常
20.10 對異常進行調試
20.11 異常處理的性能問題
20.12 約束執行區域(CER)
20.13 代碼契約
第21章 自動內存管理(垃圾回收)
21.1 理解垃圾回收平臺的基小工作原理
21.2 垃圾回收算法
……
第22章 CLR寄宿和AppDomain
第23章 程序集加載和反射
第24章 運行時序列化
第V部分 線程處理