書籍簡介:
《C#圖解教程(第4版)》是廣受贊譽(yù)的C#圖解教程的*版本。作者在本書中創(chuàng)造了一種全新的可視化敘述方式,以圖文并茂的形式、樸實(shí)簡潔的文字,并輔以大量表格和代碼示例,全面、直觀地闡述了C#語言的各種特性。新版本除了精心修訂舊版內(nèi)容外,還全面涵蓋了C#5.0的新增特性,比如異步編程、調(diào)用者信息、case表達(dá)式、帶參數(shù)的泛型構(gòu)造函數(shù)、支持null類型運(yùn)算等。通過本書,讀者能夠快速、深入理解C#,為自己的編程生涯打下良好的基礎(chǔ)。
《C#圖解教程(第4版)》是C#入門的經(jīng)典好書,適合對C#感興趣的所有讀者。
作者簡介:
Daniel M. Solis擁有20余年軟件開發(fā)經(jīng)驗(yàn),微軟、IBM等公司技術(shù)顧問,深受讀者愛戴和推崇的技術(shù)圖書作家。他同時還是一位享譽(yù)世界的技術(shù)培訓(xùn)專家,在美國和歐洲各地傳授編程語言、Windows程序設(shè)計(jì)和Unix底層技術(shù)的經(jīng)驗(yàn)和心得。多年的教學(xué)實(shí)踐啟發(fā)他創(chuàng)造了一種可視化的教學(xué)方法,并總結(jié)了一套代碼與圖示相結(jié)合的方法,為千千萬萬的入門讀者掃除了步入編程職業(yè)生涯的障礙。IllustratedWPF是他另一本暢銷技術(shù)書。
出版日期:
2013年07月
章節(jié)目錄:
第1章 C#和.NET框架
1.1 在.NET之前
1.1.1 20世紀(jì)90年代末的Windows編程
1.1.2 下一代平臺服務(wù)的目標(biāo)
1.2 .NET時代
1.2.1 .NET框架的組成
1.2.2 大大改進(jìn)的編程環(huán)境
1.3 編譯成CIL
1.4 編譯成本機(jī)代碼并執(zhí)行
1.5 CLR
1.6 CLI
1.7 各種縮寫
1.8 C#的演化
第2章 C#編程概述
2.1 一個簡單的C#程序
2.2 標(biāo)識符
2.3 關(guān)鍵字
2.4 Main:程序的起始點(diǎn)
2.5 空白
2.6 語句
2.7 從程序中輸出文本
2.7.1 Write
2.7.2 WriteLine
2.7.3 格式字符串
2.7.4 多重標(biāo)記和值
2.7.5 格式化數(shù)字字符串
2.8 注釋:為代碼添加注解
2.8.1 關(guān)于注釋的補(bǔ)充
2.8.2 文檔注釋
2.8.3 注釋類型總結(jié)
第3章 類型、存儲和變量
3.1 C#程序是一組類型聲明
3.2 類型是一種模板
3.3 實(shí)例化類型
3.4 數(shù)據(jù)成員和函數(shù)成員
3.5 預(yù)定義類型
3.6 用戶定義類型
3.7 棧和堆
3.7.1 ?!?br>3.7.2 堆
3.8 值類型和引用類型
3.8.1 存儲引用類型對象的成員
3.8.2 C#類型的分類
3.9 變量
3.9.1 變量聲明
3.9.2 多變量聲明
3.9.3 使用變量的值
3.10 靜態(tài)類型和dynamic關(guān)鍵字
3.11 可空類型
第4章 類的基本概念
4.1 類的概述
4.2 程序和類:一個快速示例
4.3 聲明類
4.4 類成員
4.4.1 字段
4.4.2 方法
4.5 創(chuàng)建變量和類的實(shí)例
4.6 為數(shù)據(jù)分配內(nèi)存
4.7 實(shí)例成員
4.8 訪問修飾符
4.9 從類的內(nèi)部訪問成員
4.10 從類的外部訪問成員
4.11 綜合應(yīng)用
第5章 方法
5.1 方法的結(jié)構(gòu)
5.2 方法體內(nèi)部的代碼執(zhí)行
5.3 本地變量
5.3.1 類型推斷和var關(guān)鍵字
5.3.2 嵌套塊中的本地變量
5.4 本地常量
5.5 控制流
5.6 方法調(diào)用
5.7 返回值
5.8 返回語句和void方法
5.9 參數(shù)
5.9.1 形參
5.9.2 實(shí)參
5.10 值參數(shù)
5.11 引用參數(shù)
5.12 引用類型作為值參數(shù)和引用參數(shù)
5.13 輸出參數(shù)
5.14 參數(shù)數(shù)組
5.14.1 方法調(diào)用
5.14.2 用數(shù)組作為實(shí)參
5.15 參數(shù)類型總結(jié)
5.16 方法重載
5.17 命名參數(shù)
5.18 可選參數(shù)
5.19 棧幀
5.20 遞歸
第6章 深入理解類
6.1 類成員
6.2 成員修飾符的順序
6.3 實(shí)例類成員
6.4 靜態(tài)字段
6.5 從類的外部訪問靜態(tài)成員
6.5.1 靜態(tài)字段示例
6.5.2 靜態(tài)成員的生存期
6.6 靜態(tài)函數(shù)成員
6.7 其他靜態(tài)類成員類型
6.8 成員常量
6.9 常量與靜態(tài)量
6.10 屬性
6.10.1 屬性聲明和訪問器
6.10.2 屬性示例
6.10.3 使用屬性
6.10.4 屬性和關(guān)聯(lián)字段
6.10.5 執(zhí)行其他計(jì)算
6.10.6 只讀和只寫屬性
6.10.7 屬性與公共字段
6.10.8 計(jì)算只讀屬性示例
6.10.9 自動實(shí)現(xiàn)屬性
6.10.10 靜態(tài)屬性
6.11 實(shí)例構(gòu)造函數(shù)
6.11.1 帶參數(shù)的構(gòu)造函數(shù)
6.11.2 默認(rèn)構(gòu)造函數(shù)
6.12 靜態(tài)構(gòu)造函數(shù)
6.13 對象初始化語句
6.14 析構(gòu)函數(shù)
6.15 readonly修飾符
6.16 this關(guān)鍵字
6.17 索引器
6.17.1 什么是索引器
6.17.2 索引器和屬性
6.17.3 聲明索引器
6.17.4 索引器的set訪問器
6.17.5 索引器的get訪問器
6.17.6 關(guān)于索引器的補(bǔ)充
6.17.7 為Employee示例聲明索引器
6.17.8 另一個索引器的示例
6.17.9 索引器重載
6.18 訪問器的訪問修飾符
6.19 分部類和分部類型
6.20 分部方法
第7章 類和繼承
7.1 類繼承
7.2 訪問繼承的成員
7.3 所有類都派生自object類
7.4 屏蔽基類的成員
7.5 基類訪問
7.6 使用基類的引用
7.6.1 虛方法和覆寫方法
7.6.2 覆寫標(biāo)記為override的方法
7.6.3 覆蓋其他成員類型
7.7 構(gòu)造函數(shù)的執(zhí)行
7.7.1 構(gòu)造函數(shù)初始化語句
7.7.2 類訪問修飾符
7.8 程序集間的繼承
7.9 成員訪問修飾符
7.9.1 訪問成員的區(qū)域
7.9.2 公有成員的可訪問性
7.9.3 私有成員的可訪問性
7.9.4 受保護(hù)成員的可訪問性
7.9.5 內(nèi)部成員的可訪問性
7.9.6 受保護(hù)內(nèi)部成員的可訪問性
7.9.7 成員訪問修飾符小結(jié)
7.10 抽象成員
7.11 抽象類
7.11.1 抽象類和抽象方法的示例
7.11.2 抽象類的另一個例子
7.12 密封類
7.13 靜態(tài)類
7.14 擴(kuò)展方法
7.15 命名約定
第8章 表達(dá)式和運(yùn)算符
8.1 表達(dá)式
8.2 字面量
8.2.1 整數(shù)字面量
8.2.2 實(shí)數(shù)字面量
8.2.3 字符字面量
8.2.4 字符串字面量
8.3 求值順序
8.3.1 優(yōu)先級
8.3.2 結(jié)合性
8.4 簡單算術(shù)運(yùn)算符
8.5 求余運(yùn)算符
8.6 關(guān)系比較運(yùn)算符和相等比較運(yùn)算符
8.7 遞增運(yùn)算符和遞減運(yùn)算符
8.8 條件邏輯運(yùn)算符
8.9 邏輯運(yùn)算符
8.10 移位運(yùn)算符
8.11 賦值運(yùn)算符
8.12 條件運(yùn)算符
8.13 一元算術(shù)運(yùn)算符
8.14 用戶定義的類型轉(zhuǎn)換
8.15 運(yùn)算符重載
8.15.1 運(yùn)算符重載的限制
8.15.2 運(yùn)算符重載的示例
8.16 typeof運(yùn)算符
8.17 其他運(yùn)算符
第9章 語句
9.1 什么是語句
9.2 表達(dá)式語句
9.3 控制流語句
9.4 if語句
9.5 if…else語句
9.6 while循環(huán)
9.7 do循環(huán)
9.8 for循環(huán)
9.8.1 for語句中變量的作用域
9.8.2 初始化和迭代表達(dá)式中的多表達(dá)式
9.9 switch語句
9.9.1 分支示例
9.9.2 switch語句的補(bǔ)充
9.9.3 分支標(biāo)簽
9.10 跳轉(zhuǎn)語句
9.11 break語句
9.12 continue語句
9.13 標(biāo)簽語句
9.13.1 標(biāo)簽
9.13.2 標(biāo)簽語句的作用域
9.14 goto語句
9.15 using語句
9.15.1 資源的包裝使用
9.15.2 using語句的示例
9.15.3 多個資源和嵌套
9.15.4 using語句的另一種形式
9.16 其他語句
第10章 結(jié)構(gòu)
10.1 什么是結(jié)構(gòu)
10.2 結(jié)構(gòu)是值類型
10.3 對結(jié)構(gòu)賦值
10.4 構(gòu)造函數(shù)和析構(gòu)函數(shù)
10.4.1 實(shí)例構(gòu)造函數(shù)
10.4.2 靜態(tài)構(gòu)造函數(shù)
10.4.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)小結(jié)
10.5 字段初始化語句是不允許的
10.6 結(jié)構(gòu)是密封的
10.7 裝箱和拆箱
10.8 結(jié)構(gòu)作為返回值和參數(shù)
10.9 關(guān)于結(jié)構(gòu)的其他信息
第11章 枚舉
11.1 枚舉
11.1.1 設(shè)置底層類型和顯式值
11.1.2 隱式成員編號
11.2 位標(biāo)志
11.2.1 Flags特性
11.2.2 使用位標(biāo)志的示例
11.3 關(guān)于枚舉的補(bǔ)充
第12章 數(shù)組
12.1 數(shù)組
12.1.1 定義
12.1.2 重要細(xì)節(jié)
12.2 數(shù)組的類型
12.3 數(shù)組是對象
12.4 一維數(shù)組和矩形數(shù)組
12.5 實(shí)例化一維數(shù)組或矩形數(shù)組
12.6 訪問數(shù)組元素
12.7 初始化數(shù)組
12.7.1 顯式初始化一維數(shù)組
12.7.2 顯式初始化矩形數(shù)組
12.7.3 初始化矩形數(shù)組的語法點(diǎn)
12.7.4 快捷語法
12.7.5 隱式類型數(shù)組
12.7.6 綜合內(nèi)容
12.8 交錯數(shù)組
12.8.1 聲明交錯數(shù)組
12.8.2 快捷實(shí)例化
12.8.3 實(shí)例化交錯數(shù)組
12.8.4 交錯數(shù)組中的子數(shù)組
12.9 比較矩形數(shù)組和交錯數(shù)組
12.10 foreach語句
12.10.1 迭代變量是只讀的
12.10.2 foreach語句和多維數(shù)組
12.11 數(shù)組協(xié)變
12.12 數(shù)組繼承的有用成員
12.13 比較數(shù)組類型
第13章 委托
13.1 什么是委托
13.2 委托概述
13.3 聲明委托類型
13.4 創(chuàng)建委托對象
13.5 給委托賦值
13.6 組合委托
13.7 為委托添加方法
13.8 從委托移除方法
13.9 調(diào)用委托
13.10 委托的示例
13.11 調(diào)用帶返回值的委托
13.12 調(diào)用帶引用參數(shù)的委托
13.13 匿名方法
13.13.1 使用匿名方法
13.13.2 匿名方法的語法
13.13.3 變量和參數(shù)的作用域
13.14 Lambda表達(dá)式
第14章 事件
14.1 發(fā)布者和訂閱者
14.2 源代碼組件概覽
14.3 聲明事件
14.4 訂閱事件
14.5 觸發(fā)事件
14.6 標(biāo)準(zhǔn)事件的用法
14.6.1 通過擴(kuò)展EventArgs來傳遞數(shù)據(jù)
14.6.2 移除事件處理程序
14.7 事件訪問器
第15章 接口
15.1 什么是接口
15.2 聲明接口
15.3 實(shí)現(xiàn)接口
15.4 接口是引用類型
15.5 接口和as運(yùn)算符
15.6 實(shí)現(xiàn)多個接口
15.7 實(shí)現(xiàn)具有重復(fù)成員的接口
15.8 多個接口的引用
15.9 派生成員作為實(shí)現(xiàn)
15.10 顯式接口成員實(shí)現(xiàn)
15.11 接口可以繼承接口
15.12 不同類實(shí)現(xiàn)一個接口的示例
第16章 轉(zhuǎn)換
16.1 什么是轉(zhuǎn)換
16.2 隱式轉(zhuǎn)換
16.3 顯式轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換
16.4 轉(zhuǎn)換的類型
16.5 數(shù)字的轉(zhuǎn)換
16.5.1 隱式數(shù)字轉(zhuǎn)換
16.5.2 溢出檢測上下文
16.5.3 顯式數(shù)字轉(zhuǎn)換
16.6 引用轉(zhuǎn)換
16.6.1 隱式引用轉(zhuǎn)換
16.6.2 顯式引用轉(zhuǎn)換
16.6.3 有效顯式引用轉(zhuǎn)換
16.7 裝箱轉(zhuǎn)換
16.7.1 裝箱是創(chuàng)建副本
16.7.2 裝箱轉(zhuǎn)換
16.8 拆箱轉(zhuǎn)換
16.9 用戶自定義轉(zhuǎn)換
16.9.1 用戶自定義轉(zhuǎn)換的約束
16.9.2 用戶自定義轉(zhuǎn)換的示例
16.9.3 評估用戶自定義轉(zhuǎn)換
16.9.4 多步用戶自定義轉(zhuǎn)換的示例
16.10 is運(yùn)算符
16.11 as運(yùn)算符
第17章 泛型
17.1 什么是泛型
17.2 C#中的泛型
17.3 泛型類
17.4 聲明泛型類
17.5 創(chuàng)建構(gòu)造類型
17.6 創(chuàng)建變量和實(shí)例
17.6.1 使用泛型的棧的示例
17.6.2 比較泛型和非泛型?!?br>17.7 類型參數(shù)的約束
17.7.1 Where子句
17.7.2 約束類型和次序
17.8 泛型方法
17.8.1 聲明泛型方法
17.8.2 調(diào)用泛型方法
17.8.3 泛型方法的示例
17.9 擴(kuò)展方法和泛型類
17.10 泛型結(jié)構(gòu)
17.11 泛型委托
17.12 泛型接口
17.12.1 使用泛型接口的示例
17.12.2 泛型接口的實(shí)現(xiàn)必須唯一
17.13 協(xié)變
17.14 逆變
17.14.1 接口的協(xié)變和逆變
17.14.2 有關(guān)可變性的更多內(nèi)容
第18章 枚舉器和迭代器
18.1 枚舉器和可枚舉類型
18.2 IEnumerator接口
18.3 泛型枚舉接口
18.4 迭代器
18.4.1 迭代器塊
18.4.2 使用迭代器來創(chuàng)建枚舉器
18.4.3 使用迭代器來創(chuàng)建可枚舉類型
18.5 常見迭代器模式
18.6 產(chǎn)生多個可枚舉類型
18.7 將迭代器作為屬性
18.8 迭代器實(shí)質(zhì)
第19章 LINQ
19.1 什么是LINQ
19.2 LINQ提供程序
19.3 方法語法和查詢語法
19.4 查詢變量
19.5 查詢表達(dá)式的結(jié)構(gòu)
19.5.1 from子句
19.5.2 join子句
19.5.3 什么是聯(lián)結(jié)
19.5.4 查詢主體中的from…let…where片段
19.5.5 orderby子句
19.5.6 select…group子句
19.5.7 查詢中的匿名類型
19.5.8 group子句
19.5.9 查詢延續(xù):into子句
19.6 標(biāo)準(zhǔn)查詢運(yùn)算符
19.6.1 標(biāo)準(zhǔn)查詢運(yùn)算符的簽名
19.6.2 查詢表達(dá)式和標(biāo)準(zhǔn)查詢運(yùn)算符
19.6.3 將委托作為參數(shù)
19.6.4 LINQ預(yù)定義的委托類型
19.6.5 使用委托參數(shù)的示例
19.6.6 使用Lambda表達(dá)式參數(shù)的示例
19.7 LINQ to XML
19.7.1 標(biāo)記語言
19.7.2 XML基礎(chǔ)
19.7.3 XML類
19.7.4 使用XML特性
19.7.5 節(jié)點(diǎn)的其他類型
19.7.6 使用LINQ to XML的LINQ查詢
第20章 異步編程
20.1 什么是異步
20.2 async/await特性的結(jié)構(gòu)
20.3 什么是異步方法
20.3.1 異步方法的控制流
20.3.2 await表達(dá)式
20.3.3 取消一個異步操作
20.3.4 異常處理和await表達(dá)式
20.3.5 在調(diào)用方法中同步地等待任務(wù)
20.3.6 在異步方法中異步地等待任務(wù)
20.3.7 Task.Delay方法
20.4 在GUI程序中執(zhí)行異步操作
20.5 使用異步Lambda表達(dá)式
20.6 完整的GUI程序
20.7 BackgroundWorker類
20.8 并行循環(huán)
20.9 其他異步編程模式
20.10 BeginInvoke和EndInvoke
20.10.1 等待—直到結(jié)束模式
20.10.2 AsyncResult類
20.10.3 輪詢模式
20.10.4 回調(diào)模式
20.11 計(jì)時器
第21章 命名空間和程序集
21.1 引用其他程序集
21.2 命名空間
21.2.1 命名空間名稱
21.2.2 命名空間的補(bǔ)充
21.2.3 命名空間跨文件伸展
21.2.4 嵌套命名空間
21.3 using指令
21.3.1 using命名空間指令
21.3.2 using別名指令
21.4 程序集的結(jié)構(gòu)
21.5 程序集標(biāo)識符
21.6 強(qiáng)命名程序集
21.7 程序集的私有方式部署
21.8 共享程序集和GAC
21.8.1 把程序集安裝到GAC
21.8.2 GAC內(nèi)的并肩執(zhí)行
21.9 配置文件
21.10 延遲簽名
第22章 異常
22.1 什么是異?!?br>22.2 try語句
22.3 異常類
22.4 catch子句
22.5 使用特定catch子句的示例
22.6 catch子句段
22.7 finally塊
22.8 為異常尋找處理程序
22.9 更進(jìn)一步搜索
22.9.1 一般法則
22.9.2 搜索調(diào)用棧的示例
22.10 拋出異常
22.11 不帶異常對象的拋出
第23章 預(yù)處理指令
23.1 什么是預(yù)處理指令
23.2 基本規(guī)則
23.3 #define和#undef指令
23.4 條件編譯
23.5 條件編譯結(jié)構(gòu)
23.6 診斷指令
23.7 行號指令
23.8 區(qū)域指令
23.9 #pragma warning指令
第24章 反射和特性
24.1 元數(shù)據(jù)和反射
24.2 Type類
24.3 獲取Type對象
24.4 什么是特性
24.5 應(yīng)用特性
24.6 預(yù)定義的保留的特性
24.6.1 Obsolete特性
24.6.2 Conditional特性
24.6.3 調(diào)用者信息特性
24.6.4 DebuggerStepThrough特性
24.6.5 其他預(yù)定義特性
24.7 有關(guān)應(yīng)用特性的更多內(nèi)容
24.7.1 多個特性
24.7.2 其他類型的目標(biāo)
24.7.3 全局特性
24.8 自定義特性
24.8.1 聲明自定義特性
24.8.2 使用特性的構(gòu)造函數(shù)
24.8.3 指定構(gòu)造函數(shù)
24.8.4 使用構(gòu)造函數(shù)
24.8.5 構(gòu)造函數(shù)中的位置參數(shù)和命名參數(shù)
24.8.6 限制特性的使用
24.8.7 自定義特性的最佳實(shí)踐
24.9 訪問特性
24.9.1 使用IsDefined方法
24.9.2 使用GetCustomAttributes方法
第25章 其他主題
25.1 概述
25.2 字符串
25.3 使用StringBuilder類
25.4 把字符串解析為數(shù)據(jù)值
25.5 關(guān)于可空類型的更多內(nèi)容
25.5.1 為可空類型賦值
25.5.2 使用空接合運(yùn)算符
25.5.3 使用可空用戶自定義類型
25.6 Main方法
25.7 文檔注釋
25.7.1 插入文檔注釋
25.7.2 使用其他XML標(biāo)簽
25.8 嵌套類型
25.8.1 嵌套類的示例
25.8.2 可見性和嵌套類型
25.9 析構(gòu)函數(shù)和dispose模式
25.9.1 標(biāo)準(zhǔn)dispose模式
25.9.2 比較構(gòu)造函數(shù)和析構(gòu)函數(shù)
25.10 和COM的互操作
索引
封面圖: