C#語言程序設計教程(第二版) 版權信息
- ISBN:9787512133969
- 條形碼:9787512133969 ; 978-7-5121-3396-9
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
C#語言程序設計教程(第二版) 本書特色
本書詳細介紹了C#程序設計的基本環境、概念、方法和應用。內容分為C#語言及C#應用兩方面:C#語言方面,包括C#基礎語法、面向對象的C#語言、C#語言高級特性等; C#應用方面,包括工具類、集合、常用算法、流式文件、文本應用、Windows窗體和控件、圖形用戶界面、多線程、ADO.NET數據庫應用、網絡通訊編程等。書中也詳細講解了C#一些新特新如Lambda表達式、Linq、異步編程以及深入理解C#語言。
本書內容詳盡、循序漸進,既介紹語法,又講解語言機制,還注重C#的應用。本書提供了大量典型實例,并配套有相關的電子資源、課件、視頻。
本書內容和組織方式立足高等學校的教學教材,也可作為計算機技術的培訓教材,還可作為Coursera、中國大學慕課上“C#程序設計”慕課的配套教材。
C#語言程序設計教程(第二版) 內容簡介
作為多本暢銷教材的作者和北京大學*受學生歡迎的計算機老師之一,本書作者延續了以往簡潔易懂的語言風格和清晰的邏輯結構,系統地介紹了C#的語言機制及其應用。本書也是中國大學MOOC上“C#程序設計”的配套教材,該課程被教育部認定為“2017年國家精品在線開放課程”。選擇由本書開始學習C#程序設計,讀者一定會受益匪淺。
C#語言程序設計教程(第二版) 目錄
目 錄
第1章 C#程序設計簡介 1-1
1.1
C#語言及其環境 1-1
1.1.1
C#的產生與發展 1-1
1.1.2
C#的環境——Microsoft.NET 1-2
1.1.3
C#的特點 1-5
1.1.4
C#和C、C 的比較 1-6
1.1.5
C# 與Java 的比較 1-7
1.2 簡單的C#程序 1-8
1.2.1
Hello World 1-8
1.2.2
C#程序設計快速入門 1-12
1.2.3
對象的三個基本要素 1-16
1.2.4
C#程序的基本構成 1-19
1.3 程序中的輸入輸出及運算 1-21
1.3.1
控制臺應用程序的輸入輸出 1-21
1.3.2
Windows應用程序輸入輸出 1-23
1.3.3
常用的運算 1-24
1.4 開發工具 1-25
1.4.1
.NET Framework SDK及Visual Studio 1-25
1.4.2
使用命令行編譯及運行程序 1-25
1.4.3
輔助工具EditPlus 1-28
1.4.4
輔助工具Visual
Studio Code 1-31
1.5 應用程序類型 1-31
1.5.1
Visual Studio建立不同類型的應用程序 1-31
1.5.2
WPF應用程序 1-33
1.5.3
Web應用程序 1-33
1.6 面向對象程序設計的基本概念 1-34
1.6.1
面向對象概述 1-34
1.6.2
對象、類與實體 1-35
1.6.3
封裝、繼承、多態 1-37
1.6.4
面向對象的軟件開發過程 1-38
習題1 1-39
第2章 C#語言基礎 2-1
2.1 數據類型、變量與常量 2-1
2.1.1
數據類型 2-1
2.1.2
標識符、關鍵字 2-4
2.1.3
字面常量 2-5
2.1.4
變量 2-6
2.1.5
C#編碼慣例與注釋 2-7
2.2 運算符與表達式 2-11
2.2.1
算術運算符 2-11
2.2.2
關系運算符 2-13
2.2.3
邏輯運算符 2-13
2.2.4
位運算符 2-14
2.2.5
賦值與強制類型轉換 2-14
2.2.6
條件運算符 2-15
2.2.7
運算的優先級、結合性 2-16
2.3 流程控制語句 2-17
2.3.1
結構化程序設計的三種基本流程 2-17
2.3.2
簡單語句 2-17
2.3.3
分支語句 2-18
2.3.4
循環語句 2-21
2.3.5
跳轉語句 2-26
2.4 數組 2-28
2.4.1
數組的聲明 2-28
2.4.2
數組的初始化 2-31
2.4.3
數組元素的使用 2-32
2.4.4
數組與System.Array 2-33
2.4.5
使用foreach語句訪問數組 2-34
2.4.6
數組應用舉例 2-34
習題2 2-37
第3章 類、接口與結構 3-1
3.1 類、字段、方法 3-1
3.1.1
定義類中的字段和方法 3-1
3.1.2
構造方法與析構方法 3-3
3.1.3
對象的創建與使用 3-4
3.1.4
方法的重載 3-5
3.1.5
使用this 3-7
3.2 屬性、索引器 3-8
3.2.1
屬性 3-9
3.2.2
索引器 3-13
3.3 類的繼承 3-16
3.3.1
派生子類 3-17
3.3.2
字段的繼承、添加與隱藏 3-18
3.3.3
方法的繼承、添加與覆蓋 3-18
3.3.4
使用base 3-20
3.3.5
父類與子類的轉換以及as運算符 3-21
3.3.6
屬性、索引器的繼承 3-23
3.4 修飾符 3-23
3.4.1
訪問控制符 3-24
3.4.2
static 3-29
3.4.3
const及readonly 3-31
3.4.4
sealed及abstract 3-33
3.4.5
new、virtual、override 3-34
3.4.6
一個應用模型——單例(Singleton) 3-38
3.5 接口 3-38
3.5.1
接口的概念 3-38
3.5.2
定義接口 3-39
3.5.3
實現接口 3-41
3.5.4
對接口的引用 3-42
3.5.5
顯式接口成員實現 3-43
3.6 結構、枚舉 3-45
3.6.1
結構 3-45
3.6.2
枚舉 3-47
習題3 3-49
第4章 C#高級特性 4-1
4.1 泛型 4-1
4.1.1
泛型的基本使用 4-1
4.1.2
自定義泛型 4-2
4.2 委托及Lambda表達式 4-5
4.2.1
委托類型與賦值 4-5
4.2.2
Lambda表達式 4-13
4.2.3
使用系統定義的Action及Func 4-14
4.3 事件 4-15
4.3.1
事件的應用 4-15
4.3.2
自定義事件 4-16
4.3.3
事件的語法細節 4-19
4.4 異常處理 4-20
4.4.1
異常的概念 4-20
4.4.2
捕獲和處理異常 4-21
4.4.3
創建用戶自定義異常類 4-25
4.4.4
重拋異常及異常鏈接 4-26
4.4.5
算術溢出與checked 4-28
4.5 命名空間、嵌套類型、程序集 4-29
4.5.1
命名空間 4-29
4.5.2
嵌套類型 4-32
4.5.3
程序集 4-36
4.6
C#語言中的其他成分 4-41
4.6.1
運算符重載 4-41
4.6.2
使用Attribute 4-42
4.6.3
編譯預處理 4-43
4.6.4
unsafe及指針 4-44
4.6.5
C#幾個語法的小結 4-47
習題4 4-47
第5章 基礎類及常用算法 1
5.1
C#語言基礎類 1
5.1.1
.NET Framework基礎類庫 1
5.1.2
Object類 2
5.1.3
簡單數據類型及轉換 6
5.1.4
Math類及Random類 7
5.1.5
DateTime類及TimeSpan類 8
5.1.6
Console類 11
5.2 字符串 11
5.2.1
String類 12
5.2.2
StringBuilder類 13
5.2.3
數據的格式化 15
5.3 集合類 16
5.3.1
集合的遍歷 16
5.3.2
List、Stack及Queue類 18
5.3.3
Dictionary及Hashtable類 21
5.3.4
其他集合類 25
5.4 排序與查找 26
5.4.1
IComparable接口和IComparer接口 26
5.4.2
使用Array類進行排序與查找 27
5.4.3
集合類中的排序與查找 28
5.4.4
自已編寫排序程序 31
5.5
Linq 34
5.5.1
Linq的基本用法 34
5.5.2
Linq的查詢方法 36
5.6 遍試、迭代、遞歸 38
5.6.1
遍試 38
5.6.2
迭代 40
5.6.3
遞歸 42
習題5 46
第6章 流、文件IO 6-1
6.1 流及二進制輸入輸出 6-1
6.1.1
流 6-1
6.1.2
使用流進行二進制輸入輸出 6-5
6.1.3
使用File的二進制功能 6-7
6.1.4
序列化及反序列化 6-7
6.2 文本輸入輸出 6-10
6.2.1
使用Reader和Writer的文本I/O 6-10
6.2.2
使用File的文本文件功能 6-14
6.2.3
標準輸入輸出 6-16
6.2.4
應用示例:背單詞 6-16
6.3 文件、目錄、注冊表 6-18
6.3.1
文件與目錄管理 6-18
6.3.2
監控文件和目錄的改動 6-24
6.3.3
注冊表 6-27
6. 4
環境參數及事件日志 6-28
6.4.1
命令行參數 6-28
6.4.2
獲得環境參數 6-30
6.4.3
使用事件日志 6-31
6. 5
程序的調試、追蹤與測試 6-35
6.5.1
程序的調試 6-35
6.5.2
程序的追蹤 6-37
6.5.3
程序的單元測試 6-39
習題6 6-41
第7章 Windows窗體及控件 7-1
7.1
Windows窗體應用程序概述 7-1
7.1.1
Windows圖形用戶界面 7-1
7.1.2
創建Windows窗體 7-2
7.1.3
添加控件 7-5
7.1.4
設定布局 7-8
7.1.5
事件處理 7-13
7.2 常用控件 7-17
7.2.1
Control類 7-17
7.2.2
標簽與按鈕 7-20
7.2.3
文本框 7-24
7.2.4
列表框、UpDown控件 7-27
7.2.5
滾動條、進度條 7-33
7.2.6
定時器、時間、日歷類 7-34
7.2.7
圖片框 7-36
7.2.8
其他幾個控件 7-37
7.3 一些容器類控件 7-39
7.3.1
Panel控件 7-39
7.3.2
ImageList控件 7-40
7.3.3
TreeView控件 7-41
7.3.4
ListView控件 7-43
7.3.5
TabControl控件 7-47
7.3.6
使用Spliter控件 7-48
7.4 窗體及對話框 7-48
7.4.1
Form類 7-48
7.4.2
窗體的創建 7-50
7.4.3
使用Form作對話框 7-51
7.4.4
通用對話框 7-53
7.4.5
顯示消息框 7-55
7.5
MDI窗體、菜單、工具欄 7-57
7.5.1
MDI窗體 7-57
7.5.2
菜單 7-57
7.5.3
使用主菜單及上下文菜單 7-59
7.5.4
工具欄 7-60
7.5.5
狀態欄 7-61
7.5.6
一個綜合的例子 7-62
習題7 7-74
第8章 繪圖及圖像 8-1
8.1 繪圖基礎支持類 8-1
8.1.1
位置及大小 8-1
8.1.2
顏色 8-4
8.1.3
畫筆 8-5
8.1.4
刷子 8-9
8.2 繪圖 8-11
8.2.1
Graphics類 8-11
8.2.2
獲得Graphics對象 8-13
8.2.3
進行繪圖的一般步驟 8-14
8.2.4
坐標變換 8-17
8.2.5
處理重繪和無效操作 8-21
8.2.6
繪圖示例 8-22
8.3 字體 8-28
8.3.1
Font類 8-28
8.3.2
使用字體來繪制文本 8-29
8.4 圖像 8-32
8.4.1
與圖像相關的類 8-32
8.4.2
在窗體上顯示圖像 8-34
8.4.3
窗體、圖片框上的圖標及圖像 8-36
8.4.4
圖像處理 8-37
8.5 在自定義控件中使用繪圖 8-42
8.5.1
自定義控件 8-42
8.5.2
在自定義控件中使用繪圖 8-45
習題8 8-48
第9章 文本、XML及網絡信息獲取 9-1
9.1 文本及正則表達式 9-1
9.1.1
文本命名空間 9-1
9.1.2
正則表達式 9-2
9.1.3
應用示例:播放歌詞 9-6
9.2
XML編程 9-11
9.2.1
XML概念 9-11
9.2.2
XML基本編程 9-13
9.2.3
Linq to XML 9-18
9.3 網絡信息獲取 9-20
9.3.1
網絡信息獲取 9-20
9.3.2
WebRequst及WebClient 9-22
9.4 幾類不同網絡信息的處理 9-24
9.4.1
使用正則表達式處理網絡文本 9-24
9.4.2
從網絡上獲取XML并進行處理 9-29
9.4.3
從網絡上獲取Json并進行處理 9-30
9.4.4
從網絡上獲取二進制信息并進行處理 9-33
習題9 9-34
第10章 多線程及異步編程 10-1
10.1
線程基礎 10-1
10.1.1
多線程的相關概念 10-1
10.1.2
線程的創建與控制 10-2
10.1.3
線程的同步 10-7
10.2
線程池與計時器 10-13
10.2.1
線程池 10-13
10.2.2
線程計時器 10-14
10.2.3
窗體計時器 10-16
10.3
集合與Windows程序中的線程 10-16
10.3.1
集合的線程安全性 10-16
10.3.2
窗體應用程序中的線程 10-18
10.4
并行編程 10-22
10.4.1
并行程序的相關概念 10-22
10.4.2
Task 10-22
10.4.3
Parallel類 10-24
10.4.4
并行Linq 10-28
10.5
異步編程 10-29
10.5.1
async及await 10-29
10.5.2
異步I/O 10-31
10.5.3
其他實現異步的方法 10-33
習題10 10-36
第11章 數據庫、網絡、多媒體編程 11-1
11.1
ADO.NET數據庫編程 11-1
11.1.1
ADO.NET簡介 11-1
11.1.2
數據集 11-2
11.1.3
連接到數據源 11-5
11.1.4
使用DataAdapter和DataSet 11-7
11.1.5
使用Command和DataReader 11-9
11.1.6
使用數據綁定控件 11-10
11.2 使用高級數據工具 11-12
11.2.1
使用Visual
Studio的數據工具 11-12
11.2.2
使用Entity
Framework 11-13
11.2.3
使用Linq訪問數據庫 11-14
11.3
網絡通訊編程 11-15
11.3.1
使用System.Net 11-15
11.3.2
TcpClient及TcpListener 11-17
11.3.3
Email編程 11-22
11.4
互操作與多媒體編程 11-24
11.4.1
C#、VB.NET、JScript的互操作 11-24
11.4.2
使用Win32 API進行聲音播放 11-26
11.4.3
使用COM組件操作Office文檔 11-28
11.4.4
使用ActiveX控件進行多媒體播放 11-29
習題11 11-30
第12章 深入理解C#語言 12-1
12.1
類型及轉換 12-1
12.1.1
值類型及引用類型 12-1
12.1.2
值類型的轉換 12-4
12.1.3
引用類型轉換 12-4
12.1.4
裝箱與拆箱 12-6
12.2
變量及其傳遞 12-9
12.2.1
字段與局部變量 12-9
12.2.2
按值傳遞的參數 12-10
12.2.3
ref參數及out參數 12-12
12.2.4
params參數 12-15
12.2.5
變量的返回 12-16
12.3
多態與虛方法調用 12-16
12.3.1
上溯造型 12-17
12.3.2
虛方法調用 12-17
12.4
類型與反射 12-21
12.4.1
typeof及GetType 12-21
12.4.2
is運算符 12-23
12.4.3
反射及動態類型創建 12-24
12.5
對象構造與析構 12-26
12.5.1
調用本類或父類的構造方法 12-26
12.5.2
構造方法的執行過程 12-28
12.5.3
靜態構造方法 12-31
12.5.4
析構方法與垃圾回收 12-33
12.4.5
顯式資源管理與IDisposable 12-34
12.6
運算符重載 12-36
12.6.1
運算符重載的概念 12-36
12.6.2
一元運算符 12-38
12.6.3
二元運算符 12-39
12.6.4
轉換運算符 12-41
12.6.5
==及!=運算符 12-42
12.7
特性(Attribute) 12-43
12.7.1
使用系統定義的Attribute 12-44
12.7.2
自定義Attribute 12-46
12.8
枚舉器與迭代器 12-50
12.8.1
枚舉器 12-50
12.8.2
迭代器 12-52
習題12 12-56
附錄1 C#語言各個版本的新特性 1
附錄2 C#語言相關網絡資源 14
參考文獻 16
展開全部
C#語言程序設計教程(第二版) 作者簡介
唐大仕,博士,北京大學信息科學技術學院教師,在程序設計方面有多年的項目開發經驗和教學經驗,獲北京大學優秀教學成果一等獎,任教育部計算機教指委分委專家組成員。出版的教材包括《C#程序設計教程》《Java程序設計(第2版)》(曾獲第六屆全國高校出版社優秀暢銷書獎)《VB程序設計》《VisualC.NET程序設計》等。在北京大學開設多門程序設計課程,課程內容以系統知識與實踐應用相結合,注重培養對知識體系的深入理解,在與實際工作生活相結合的應用實踐中分析問題、解決問題的能力。