書(shū)籍簡(jiǎn)介:
本書(shū)全面系統(tǒng)地論述了C# 6.0的開(kāi)發(fā)環(huán)境、語(yǔ)法基礎(chǔ)、程序結(jié)構(gòu)、編程技巧及編程案例。全書(shū)共包括21章,分別介紹了以下內(nèi)容: 開(kāi)發(fā)環(huán)境搭建、語(yǔ)法基礎(chǔ)、面向?qū)ο缶幊?、類型轉(zhuǎn)換、字符串處理與數(shù)學(xué)運(yùn)算、控制臺(tái)應(yīng)用程序、變體的應(yīng)用、集合與泛型、調(diào)試與單元測(cè)試、Lambda表達(dá)式、LINQ查詢語(yǔ)句、Windows窗體應(yīng)用程序、WPF基礎(chǔ)知識(shí)、多線程與異步編程、系統(tǒng)信息管理、文件與流、序列化技術(shù)、數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)、反射、網(wǎng)絡(luò)編程、互操作性等。在本書(shū)最后一章,專門設(shè)計(jì)了綜合實(shí)例——“綜合實(shí)例1: 照片面積計(jì)算機(jī)器”和“綜合實(shí)例2: 文件加密與解密工具”,通過(guò)這兩個(gè)綜合實(shí)例,既可以將前20章的知識(shí)融會(huì)貫通,又可以拋磚引玉,真正教會(huì)讀者開(kāi)發(fā)C#應(yīng)用程序的實(shí)際方法。 為提高讀者學(xué)習(xí)效率,本書(shū)提供了21章的配書(shū)視頻教程及近300個(gè)實(shí)例的源代碼。這些寶貴的學(xué)習(xí)資源有助于讀者迅速入門,動(dòng)手開(kāi)發(fā)實(shí)踐。
本書(shū)既適合作為C#完全自學(xué)圖書(shū),也適合作為相關(guān)培訓(xùn)機(jī)構(gòu)的培訓(xùn)教材或者高校計(jì)算機(jī)類專業(yè)C#語(yǔ)言課程的參考教材。
作者簡(jiǎn)介:
周家安
微軟最有價(jià)值專家(MVP),擅長(zhǎng).NET及其相關(guān)開(kāi)發(fā)技術(shù),專注于探索簡(jiǎn)單實(shí)用的編程學(xué)習(xí)方法。長(zhǎng)期在博客園等技術(shù)社區(qū)撰寫Windows相關(guān)技術(shù)文章,并出版有《深入淺出:Windows 8.1應(yīng)用開(kāi)發(fā)》《精通C# 5.0》《Windows 10 應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)》等原創(chuàng)技術(shù)圖書(shū)。
出版日期:
2016年09月
章節(jié)目錄:
第1章 準(zhǔn)備工作
1.1 為什么要編寫程序
1.2 C#與.NET框架的關(guān)系
1.3 只需要一個(gè)工具Visual Studio
1.3.1 下載和安裝
1.3.2 認(rèn)識(shí)Visual Studio
1.3.3 如何使用快捷鍵
1.3.4 如何放置子窗口
1.3.5 自動(dòng)隱藏窗口
1.3.6 巧用快速啟動(dòng)
1.3.7 個(gè)性化設(shè)置
1.4 創(chuàng)建第一個(gè)應(yīng)用程序
1.5 解決方案與項(xiàng)目的關(guān)系
第2章 語(yǔ)法基礎(chǔ)
2.1 代碼的基本結(jié)構(gòu)
2.2 命名空間
2.2.1 為什么要使用命名空間
2.2.2 如何訪問(wèn)命名空間中的成員
2.2.3 引入命名空間
2.2.4 using static指令
2.3 Main入口點(diǎn)
2.3.1 程序代碼真的從Main方法開(kāi)始執(zhí)行嗎
2.3.2 如何選擇入口點(diǎn)
2.4 變量與常量
2.4.1 變量
2.4.2 變量的生命周期
2.4.3 常量
2.5 命名規(guī)則
2.6 運(yùn)算符
2.6.1 示例:簡(jiǎn)單運(yùn)算
2.6.2 示例:自增和自減運(yùn)算
2.6.3 示例:位運(yùn)算
2.6.4 示例:比較運(yùn)算符
2.7 流程控制
2.7.1 順序執(zhí)行
2.7.2 有選擇地執(zhí)行
2.7.3 循環(huán)往復(fù)
2.8 寫注釋是個(gè)好習(xí)慣
2.9 基本的數(shù)據(jù)類型
2.10 不要錯(cuò)過(guò)《C#語(yǔ)言規(guī)范》文檔
第3章 面向?qū)ο缶幊?br> 3.1類
3.1.1 字段
3.1.2 屬性
3.1.3 方法
3.1.4 構(gòu)造函數(shù)與析構(gòu)函數(shù)
3.2 結(jié)構(gòu)
3.3 引用類型與值類型
3.4 ref參數(shù)與out參數(shù)
3.5 方法重載
3.6 靜態(tài)類與靜態(tài)成員
3.7 繼承與多態(tài)
3.7.1 可訪問(wèn)性
3.7.2 繼承
3.7.3 注意可訪問(wèn)性要一致
3.7.4 隱藏基類的成員
3.7.5 覆寫基類成員
3.7.6 如何阻止類被繼承
3.8 抽象類
3.9 接口
3.9.1 定義接口
3.9.2 接口與多繼承
3.9.3 實(shí)現(xiàn)接口
3.9.4 顯式實(shí)現(xiàn)接口
3.10 擴(kuò)展方法
3.11 委托與事件
3.11.1 定義和使用委托
3.11.2 將方法作為參數(shù)傳遞
3.11.3 使用事件
3.12 枚舉
3.12.1 使用枚舉類型
3.12.2 如何獲取枚舉的值列表
3.12.3 如何取得枚舉中各成員的名字
3.12.4 枚舉的位運(yùn)算
3.13 特性
3.13.1 自定義特性
3.13.2 如何把特性應(yīng)用到方法的返回值
3.13.3 通過(guò)反射技術(shù)檢索特性
3.14 數(shù)組
3.14.1 定義數(shù)組的幾種方法
……
3.14.8 靈活使用ArrayList類
第4章 控制臺(tái)應(yīng)用程序
4.1 輸出文本信息
4.2 獲取鍵盤輸入
4.2.1 Read方法
4.2.2 ReadKey方法
4.2.3 ReadLine方法
4.3 命令行參數(shù)
4.4 設(shè)置控制臺(tái)窗口的外觀
4.5 控制臺(tái)窗口的大小和位置
第5章 字符串處理與數(shù)學(xué)運(yùn)算
5.1 對(duì)象的字符串表示形式
5.1.1 重寫ToString方法
5.1.2 擴(kuò)展方法
5.2 字符串的串聯(lián)與拆分
5.2.1 使用 運(yùn)算符串聯(lián)字符串
……
5.2.5 使用Split方法拆分字符串
5.3 轉(zhuǎn)義字符
5.4 英文字母的大小寫轉(zhuǎn)換
5.5 Parse和TryParse方法
5.6 查找和修改字符串
5.6.1 查找索引
……
5.6.4 填充字符串
5.7 格式化字符串
5.7.1 IformatProvider接口
5.7.2 區(qū)域性相關(guān)的信息
5.7.3 實(shí)現(xiàn)字符串的格式化
5.8 字符串的復(fù)合格式化
5.9 字符串內(nèi)插
5.10 生成隨機(jī)數(shù)
5.11 Math類與常用的數(shù)學(xué)運(yùn)算
5.12 與日期時(shí)間有關(guān)的計(jì)算
第6章 類型轉(zhuǎn)換
6.1 隱式轉(zhuǎn)換
6.2 顯式轉(zhuǎn)換
6.3 可以為null的值類型
6.4 引用類型的兼容性轉(zhuǎn)換
6.5 類型轉(zhuǎn)換幫助器
6.6 自定義轉(zhuǎn)換
第7章 泛型、集合與變體
7.1 泛型類型
7.1.1 泛型與類
……
7.1.5 泛型約束
7.2 集合
7.2.1 普通集合
7.2.2 泛型集合
7.2.3 字典
7.3 自定義排序
7.4 變體
7.4.1 協(xié)變與逆變
7.4.2 類型參數(shù)的輸入與輸出
7.4.3 必不可少的技巧
第8章 糾錯(cuò)與單元測(cè)試
8.1 實(shí)時(shí)糾正語(yǔ)法錯(cuò)誤
8.2 代碼調(diào)試
8.2.1 斷點(diǎn)法
8.2.2 輸出信息法
8.3 斷言
8.4 使用日志文件
8.5 異常處理
8.6 單元測(cè)試
第9章 匿名方法與Lambda表達(dá)式
9.1 匿名方法
9.2 Lambda表達(dá)式
9.2.1 用于賦值
9.2.2 用于參數(shù)傳遞
第10章 集成化查詢
10.1 LINQ基本語(yǔ)法
10.1.1 對(duì)查詢結(jié)果類型的巧妙處理
10.1.2 延遲執(zhí)行與強(qiáng)制立即執(zhí)行
10.2 篩選
10.3 排序
10.4 分組
10.5 更復(fù)雜的查詢
10.5.1 動(dòng)態(tài)創(chuàng)建類型
10.5.2 聯(lián)合查詢
10.5.3 嵌套查詢
第11章 Windows窗體應(yīng)用程序
11.1 Windows窗體應(yīng)用程序的基本結(jié)構(gòu)
11.1.1 客戶區(qū)域
……
11.1.5 演練:手動(dòng)創(chuàng)建一個(gè)Windows應(yīng)用程序
11.2 ApplicationContext類
11.3 窗體設(shè)計(jì)器
11.4 控件的基類——Control
11.4.1 示例:設(shè)置控件的位置和大小
11.4.2 示例:設(shè)置控件的前景色和背景色
11.4.3 示例:調(diào)整控件的Z順序
11.5 常規(guī)控件
11.5.1 共享事件處理程序
……
11.5.12 規(guī)范用戶輸入
11.6 容器控件
11.6.1 在容器內(nèi)部顯示滾動(dòng)條
11.6.2 分組面板
11.6.3 網(wǎng)格布局面板
11.6.4 選項(xiàng)卡
11.6.5 自動(dòng)排列內(nèi)容的面板
11.7 工具欄和菜單
11.7.1 工具欄
11.7.2 菜單欄
11.7.3 上下文菜單
11.7.4 自定義承載控件
11.8 對(duì)話框
11.8.1 “打開(kāi)文件”和“保存文件”對(duì)話框
……
11.8.4 自定義對(duì)話框
11.9 用戶控件
11.10 自定義控件
第12章 WPF應(yīng)用程序
12.1 WPF應(yīng)用程序項(xiàng)目的結(jié)構(gòu)
12.2 XAML基礎(chǔ)
12.2.1 XAML命名空間
12.2.2 代碼隱藏
12.2.3 標(biāo)記擴(kuò)展
12.2.4 內(nèi)容屬性
12.3 依賴項(xiàng)屬性
12.3.1 定義和使用依賴項(xiàng)屬性
……
12.3.5 附加屬性
12.4 路由事件
12.4.1 路由策略
12.4.2 注冊(cè)路由事件的類處理程序
12.5 認(rèn)識(shí)WPF控件
12.5.1 Control類
12.5.2 內(nèi)容控件
12.5.3 輸入控件
12.6 數(shù)據(jù)綁定與視圖呈現(xiàn)
12.6.1 用于數(shù)據(jù)綁定的XAML擴(kuò)展標(biāo)記
……
12.6.8 ObservableCollection集合
12.7 布局
12.7.1 Panel類
……
12.7.7 Z順序
12.8 用戶控件與自定義控件
12.9 樣式與資源
12.9.1 樣式中的觸發(fā)器
12.9.2 資源的有效范圍
12.9.3 合并資源字典
12.9.4 靜態(tài)資源與動(dòng)態(tài)資源
12.10 圖形
12.10.1 Shape類
12.10.2 基本圖形
12.11 動(dòng)畫
12.11.1 演示圖板
12.11.2 簡(jiǎn)單動(dòng)畫與關(guān)鍵幀動(dòng)畫
第13章 異步編程
13.1 為什么要使用異步編程
13.2 使用Thread類進(jìn)行異步編程
13.3 線程鎖
13.4 通過(guò)委托執(zhí)行異步操作
13.5 并行任務(wù)
13.5.1 啟動(dòng)簡(jiǎn)單的并行任務(wù)
13.5.2 Task與Task類
13.5.3 創(chuàng)建可取消的Task
13.6 async和await關(guān)鍵字
13.7 ThreadLocal
13.8 AsyncLocal
第14章 系統(tǒng)信息管理
14.1 管理進(jìn)程
14.1.1 管理正在運(yùn)行的進(jìn)程
14.1.2 啟動(dòng)新進(jìn)程
14.1.3 重定向輸入/輸出流
14.2 管理服務(wù)
14.3 WMI查詢
14.4 讀取系統(tǒng)參數(shù)
14.4.1 ComputerInfo類
……
14.4.4 用于WPF的系統(tǒng)信息類
14.5 寫入事件日志
第15章 文件與流
15.1 創(chuàng)建和刪除目錄
15.2 創(chuàng)建和刪除文件
15.3 流
15.3.1 讀寫文件
15.3.2 內(nèi)存流
15.4 內(nèi)存映射文件
15.5 監(jiān)控文件系統(tǒng)的變化
15.6 獨(dú)立存儲(chǔ)
15.7 壓縮與解壓縮
第16章 序列化與反序列化
16.1 二進(jìn)制序列化
16.2 XML序列化
16.2.1 簡(jiǎn)單實(shí)現(xiàn)XML序列化和反序列化
16.2.2 自定義XML文檔的節(jié)點(diǎn)
16.3 SOAP序列化
16.4 數(shù)據(jù)協(xié)定
16.5 JSON序列化
第17章 訪問(wèn)數(shù)據(jù)庫(kù)
17.1 SQLLocalDB與SSDT
17.1.1 創(chuàng)建和刪除數(shù)據(jù)服務(wù)實(shí)例
17.1.2 在Visual Studio中連接和創(chuàng)建數(shù)據(jù)庫(kù)
17.1.3 編寫SQL語(yǔ)句
17.2 示例數(shù)據(jù)庫(kù)
17.3 連接數(shù)據(jù)庫(kù)
17.4 ADO.NET基礎(chǔ)
17.4.1 使用DataReader來(lái)讀取數(shù)據(jù)
……
17.4.4 參數(shù)化查詢
17.5 LinQ to ADO.NET
17.6 LinQ to SQL
17.6.1 用DataContext直接執(zhí)行SQL語(yǔ)句
17.6.2 動(dòng)態(tài)創(chuàng)建數(shù)據(jù)庫(kù)
第18章 程序集與反射
18.1 類庫(kù)
18.2 反射技術(shù)基礎(chǔ)
18.2.1 動(dòng)態(tài)加載程序集
……
18.2.4 動(dòng)態(tài)調(diào)用類型成員
第19章 網(wǎng)絡(luò)編程
19.1 Socket編程
19.1.1 Socket類
19.1.2 TcpListener類與TcpClient類
19.1.3 UdpClient類
19.2 HTTP通信
19.2.1 HttpWebRequest類與HttpWebResponse類
19.2.2 WebClient類
19.2.3 HttpClient類
19.3 獲取網(wǎng)絡(luò)接口信息
19.4 向目標(biāo)計(jì)算機(jī)發(fā)送Ping命令
19.5 用SMTP發(fā)送電子郵件
19.6 訪問(wèn)Web服務(wù)
第20章 互操作性
20.1 調(diào)用Win32 API函數(shù)
20.2 調(diào)用COM組件
第21章 綜合實(shí)例
21.1 綜合案例1:照片面積計(jì)算器
21.1.1 數(shù)據(jù)模型準(zhǔn)備
……
21.1.5 實(shí)現(xiàn)日志文件的寫入
21.2 綜合案例2:文件加密與解密工具
21.2.1 密碼的處理
21.2.2 提取Key和IV
21.2.3 實(shí)現(xiàn)加密與解密
封面圖: