內容大鋼
本書由世界級C#技術專家親筆撰寫,C#編譯器團隊開發人員技術審校,微軟公司C#項目經理作序推薦,10余年全球暢銷不衰,廣受好評。
全書共22章。第1章是C#概述;第2章和第3章介紹C#中的數據類型;第4章討論操作符、數據轉換和預處理器指令;第5章探討方法和參數的細節;第6章講解類,它是面向對象技術的核心;第7章介紹繼承,其中包括繼承語法的細節;第8章講解介面;第9章和第10章分別介紹值類型與合式類型,解釋如何定義結構、如何實現操作符;第11章延伸討論第5章引入的異常處理機制;第12章探討泛型;第13章講解委託和Lambda表達式;第14章討論事件;第15章介紹支持標準查詢操作符的集合介面;第16章探討使用查詢表達式的LINQ;第17章講解如何構建自定義集合;第18章介紹反射、特性和動態編程的方方面面;第19章涵蓋多線程處理;第20章以第19章為基礎,演示線程同步的用法;第21章涵蓋平台互操作性和不安全的代碼;第22章講解公共語言基礎結構,並討論C#程序與底層「運行時」及其規範的關係。
目錄
譯者序
推薦序
前言
致謝
作者簡介
第1章 C#概述
1.1 Hello, World
1.2 C#語法基礎
1.3 使用變數
1.4 控制台輸入和輸出
1.5 註釋
1.6 托管執行和CLI
1.7 多個.NET框架
1.8 小結
第2章 數據類型
2.1 基本數值類型
2.2 更多基本類型
2.3 null和void
2.4 數據類型轉換
2.5 小結
第3章 更多數據類型
3.1 類型的劃分
3.2 可空修飾符
3.3 元組
3.4 數組
3.5 小結
第4章 操作符和控制流程
4.1 操作符
4.2 控制流程概述
4.3 代碼塊({})
4.4 代碼塊、作用域和聲明空間
4.5 布爾表達式
4.6 按位操作符(<<,>>,|,&,^,~)
4.7 控制流程語句(續)
4.8 跳轉語句
4.9 C#預處理器指令
4.10 小結
第5章 方法和參數
5.1 方法的調用
5.2 方法的聲明
5.3 using指令
5.4 Main()的返回值和參數
5.5 高級方法參數
5.6 遞歸
5.7 方法重載
5.8 可選參數
5.9 用異常實現基本錯誤處理
5.10 小結
第6章 類
6.1 類的聲明和實例化
6.2 實例欄位
6.3 實例方法
6.4 使用this關鍵字
6.5 訪問修飾符
6.6 屬性
6.7 構造函數
6.8 靜態成員
6.9 擴展方法
6.10 封裝數據
6.11 嵌套類
6.12 分部類
6.13 小結
第7章 繼承
7.1 派生
7.2 重寫基類
7.3 抽象類
7.4 所有類都從System.Object派生
7.5 使用is操作符驗證基礎類型
7.6 用is操作符進行模式匹配
7.7 switch語句中的模式匹配
7.8 使用as操作符進行轉換
7.9 小結
第8章 介面
8.1 介面概述
8.2 通過介面實現多態性
8.3 介面實現
8.4 在實現類和介面之間轉換
8.5 介面繼承
8.6 多介面繼承
8.7 介面上的擴展方法
8.8 通過介面實現多繼承
8.9 版本控制
8.10 比較介面和類
8.11 比較介面和特性
8.12 小結
第9章 值類型
9.1 結構
9.2 裝箱
9.3 枚舉
9.4 小結
第10章 合式類型
10.1 重寫object的成員
10.2 操作符重載
10.3 引用其他程序集
10.4 定義命名空間
10.5 XML註釋
10.6 垃圾回收
10.7 資源清理
10.8 推遲初始化
10.9 小結
第11章 異常處理
11.1 多異常類型
11.2 捕捉異常
11.3 常規catch塊
11.4 異常處理規範
11.5 自定義異常
11.6 重新拋出包裝的異常
11.7 小結
第12章 泛型
12.1 如果C#沒有泛型
12.2 泛型類型概述
12.3 約束
12.4 泛型方法
12.5 協變性和逆變性
12.6 泛型的內部機制
12.7 小結
第13章 委託和Lambda表達式
13.1 委託概述
13.2 聲明委託類型
13.3 Lambda表達式
13.4 匿名方法
13.5 小結
第14章 事件
14.1 使用多播委託編碼Publish-Subscribe模式
14.2 理解事件
14.3 小結
第15章 支持標準查詢操作符的集合介面
15.1 集合初始化器
15.2 IEnumerable使類成為集合
15.3 標準查詢操作符
15.4 匿名類型之於LINQ
15.5 小結
第16章 使用查詢表達式的LINQ
16.1 查詢表達式概述
16.2 查詢表達式只是方法調用
16.3 小結
第17章 構建自定義集合
17.1 更多集合介面
17.2 主要集合類
17.3 提供索引器
17.4 返回null或者空集合
17.5 迭代器
17.6 小結
第18章 反射、特性和動態編程
18.1 反射
18.2 特性
18.3 使用動態對象進行編程
18.4 小結
第19章 多線程處理
19.1 多線程處理基礎
19.2 使用System.Threading
19.3 非同步任務
19.4 取消任務
19.5 基於任務的非同步模式
19.6 並行迭代
19.7 並行執行LINQ查詢
19.8 小結
第20章 線程同步
20.1 線程同步的意義
20.2 計時器
20.3 小結
第21章 平台互操作性和不安全代碼
21.1 平台調用
21.2 指針和地址
21.3 通過委託執行不安全代碼
21.4 小結
第22章 公共語言基礎結構
22.1 CLI的定義
22.2 CLI的實現
22.3 .NET Standard
22.4 BCL
22.5 將C#編譯成機器碼
22.6 運行時
22.7 程序集、清單和模塊
22.8 公共中間語言
22.9 公共類型系統
22.10 公共語言規範
22.11 元數據
22.12 .NET Native和AOT編譯
22.13 小結