輕鬆學C#

輕鬆學C#

《輕鬆學C# 》是谷濤 扶曉 畢國鋒編著 出版的圖書。

基本介紹

  • 書名:輕鬆學C#
  • 作者:谷濤、扶曉、畢國鋒
  • ISBN:978-7-121-20223-0
  • 頁數:424頁
  • 開本:16開
內容提要,目錄,前言,本書內容及體系結構,本書讀者對象,致謝,

內容提要

本書由淺入深,全面、系統地介紹了C#程式設計。除了詳細地講解C#知識點外,本書還提供了大量的實例,供讀者實戰演練。
本書共分三篇。第一篇是C#概述篇,主要介紹的是Visual Studio2012的開發環境及搭建。第二篇是面向對象基礎篇,主要介紹類、對象、欄位、方法、流程控制、數組、繼承、屬性、運算符重載、接口等C#基本內容。第三篇是套用技術篇,主要介紹的是異常處理、檔案和流、委託、事件、Lambda表達式、命名空間、預處理器、程式集、運行時類型標識、反射、特性、泛型、LINQ和資料庫開發等。
本書涉及面廣,從基本操作到高級技術和核心原理,幾乎涉及C#開發的所有重要知識。本書適合所有想全面學習C#開發技術的人員閱讀,也適合使用C#進行開發的工程技術人員使用。對於經常使用C#做開發的人員,本書更是一本不可多得的案頭必備參考書。

目錄

第一篇 C#概述篇
第1章 C#入門 2
1.1 C#概述 2
1.1.1 C#的發展 2
1.1.2 C#開發的基礎 2
1.2 搭建開發環境 3
1.2.1 Visual Studio 2012軟硬體配置要求 3
1.2.2 下載Visual Studio 2012 3
1.2.3 安裝Visual Studio 2012 4
1.2.4 初始化配置 7
1.3 第一個程式——Hello World 8
1.4 小結 11
1.5 習題 12
第二篇 面向對象基礎篇
第2章 類和對象 16
2.1 分析Hello World程式 16
2.2 語法規範 17
2.2.1 標識符 17
2.2.2 關鍵字 18
2.2.3 注釋 19
2.3 定義類 20
2.4 實例化對象 20
2.5 小結 20
2.6 習題 21
第3章 定義類——欄位 23
3.1 數據類型 23
3.1.1 簡單值類型 23
3.1.2 值的表示——字面量 26
3.1.3 轉義序列 27
3.2 定義欄位 27
3.2.1 定義欄位 28
3.2.2 靜態欄位和實例欄位的訪問 28
3.2.3 欄位初始化 29
3.2.4 欄位的動態賦值——Read()和ReadLine() 31
3.2.5 欄位輸出 31
3.2.6 格式化輸出 32
3.2.7 數據類型轉換 39
3.2.8 唯讀欄位 41
3.2.9 訪問控制 41
3.3 運算符 43
3.3.1 算術運算符 43
3.3.2 自增、自減運算符 44
3.3.3 複合賦值運算符 45
3.3.4 位運算符 46
3.3.5 sizeof運算符 47
3.3.6 運算符的優先權 47
3.4 小結 49
3.5 習題 49
第4章 定義類——方法 51
4.1 方法的概述 51
4.1.1 定義方法 51
4.1.2 方法的調用 52
4.2 方法體的構成 53
4.2.1 局部變數 53
4.2.2 局部變數與欄位同名的解決——this關鍵字54
4.2.3 語句 55
4.2.4 全局變數 55
4.3 返回值 56
4.3.1 返回值類型 56
4.3.2 從方法返回 57
4.4 參數 58
4.4.1 參數的分類 58
4.4.2 引用參數(ref參數) 59
4.4.3 輸出參數(out參數) 61
4.5 特殊的方法 62
4.5.1 Main()方法62
4.5.2 構造函式 62
4.5.3 帶參數的構造函式 63
4.5.4 析構函式 64
4.6 小結 65
4.7 習題 65
第5章 流程控制 69
5.1 選擇執行——條件 70
5.1.1 條件真假——布爾類型的轉化 70
5.1.2 關係運算 71
5.1.3 邏輯運算 71
5.2 選擇語句 73
5.2.1 問號運算符 73
5.2.2 if語句74
5.2.3 if…else語句 75
5.2.4 if…else…if語句 76
5.2.5 switch語句 77
5.3 循環語句 80
5.3.1 while語句 80
5.3.2 do…while語句 81
5.3.3 for語句 82
5.3.4 foreach語句 85
5.4 跳轉語句 85
5.4.1 break語句 85
5.4.2 continue語句 86
5.4.3 goto語句 86
5.5 小結 87
5.6 習題 87
第6章 數組 91
6.1 初識數組 91
6.2 基本數組 92
6.2.1 聲明數組 92
6.2.2 數組的初始化 92
6.2.3 數組引用 93
6.2.4 數組的賦值 94
6.2.5 遍歷數組 95
6.3 特殊數組 96
6.3.1 多維數組 96
6.3.2 交錯數組 100
6.4 對數組的使用 101
6.4.1 數組作為方法參數 102
6.4.2 類中的數組 105
6.5 對數組的操作 106
6.5.1 清空數組 106
6.5.2 創建數組副本 107
6.5.3 複製一部分元素給另一數組 107
6.5.4 將當前一維數組的所有元素賦值到指定的一維數組中 108
6.5.5 獲取某個元素的值 109
6.5.6 獲取元素的索引值 109
6.5.7 獲取某元素最後匹配項的索引 110
6.5.8 反轉一維數組中的元素順序 110
6.5.9 為數組中的某個元素重新賦值 111
6.5.10 對數組元素進行重新排序 112
6.6 小結 112
6.7 習題 113
第7章 繼承 115
7.1 C#的繼承機制 115
7.1.1 概述 115
7.1.2 初識繼承 116
7.2 訪問修飾符 118
7.3 成員繼承 121
7.3.1 使用繼承欄位 121
7.3.2 使用方法 121
7.3.3 派生類直接訪問基類成員——base 122
7.3.4 繼承中的構造函式 123
7.4 多態 124
7.5 抽象 128
7.5.1 抽象類、抽象方法的聲明 129
7.5.2 抽象類的使用 129
7.5.3 抽象方法的使用 130
7.6 密封 132
7.6.1 密封類 132
7.6.2 密封方法 133
7.7 小結 134
7.8 習題 135
第8章 屬性 139
8.1 屬性初識 139
8.1.1 屬性聲明 139
8.1.2 屬性訪問 140
8.1.3 訪問器 141
8.1.4 屬性分類 145
8.2 屬性使用 146
8.2.1 屬性繼承 146
8.2.2 對訪問器使用訪問修飾符 148
8.2.3 自動實現屬性 149
8.2.4 對屬性使用對象初始化器 150
8.3 索引器 151
8.3.1 索引器的聲明 151
8.3.2 一維索引器的使用 152
8.3.3 重載索引器 153
8.3.4 比較屬性和索引器 153
8.3.5 比較索引器和數組 154
8.4 小結 154
8.5 習題 154
第9章 運算符重載 158
9.1 什麼是運算符重載 158
9.2 如何進行運算符重載 158
9.2.1 一元運算符重載 159
9.2.2 二元運算符重載 162
9.3 關係運算符重載 163
9.4 重載true和false 165
9.5 邏輯運算符重載 167
9.5.1 邏輯運算符重載的簡單方式 167
9.5.2 使用短路運算符 169
9.6 轉換運算符 171
9.7 注意問題 173
9.7.1 重載後運算符的優先權 173
9.7.2 不能重載的運算符 174
9.8 小結 175
9.9 習題 175
第10章 接口 178
10.1 接口的概念178
10.1.1 接口組成 178
10.1.2 接口聲明 178
10.1.3 接口的實現 179
10.2 接口方法的使用182
10.3 接口屬性 183
10.4 接口索引器185
10.5 接口繼承 187
10.5.1 多重繼承 187
10.5.2 接口繼承引起的名稱隱藏 189
10.6 顯式實現接口 190
10.7 小結 194
10.8 習題 194
第三篇 套用技術篇
第11章 異常處理 200
11.1 異常處理的基礎200
11.1.1 什麼是異常 200
11.1.2 未捕獲異常的後果 200
11.1.3 常用異常 201
11.1.4 異常處理 201
11.1.5 使用try和catch關鍵字201
11.2 處理異常 204
11.2.1 使用異常處理錯誤 204
11.2.2 使用多條catch語句 205
11.2.3 嵌套try塊 206
11.2.4 拋出異常 207
11.2.5 重新拋出異常 208
11.2.6 finally語句 210
11.3 自定義異常類 212
11.4 checked和unchecked關鍵字 214
11.4.1 checked 214
11.4.2 unchecked214
11.5 小結 217
11.6 習題 217
第12章 檔案和流 221
12.1 System IO類 221
12.2 檔案類File 222
12.2.1 檔案的創建和打開 222
12.2.2 判斷檔案是否存在 224
12.2.3 複製檔案 225
12.2.4 刪除檔案 226
12.2.5 檔案的加密和解密 227
12.2.6 檔案讀取 228
12.3 資料夾類Directory 229
12.3.1 創建資料夾 229
12.3.2 刪除資料夾 230
12.3.3 獲取資料夾 231
12.4 檔案信息類FileInfo 232
12.5 資料夾信息類DirectoryInfo 233
12.6 流234
12.7 檔案流類FileStream 235
12.7.1 FileStream檔案流類的創建 235
12.7.2 獲取和設定檔案流屬性信息 236
12.8 流寫入類StreamWriter 237
12.9 流讀取類StreamReader 238
12.9.1 創建StreamReader 239
12.9.2 讀取字元或字元塊到指定的變數 240
12.10 二進制流寫入類BinaryWriter241
12.11 二進制流讀取類BinaryReader 242
12.12 小結 244
12.13 習題 244
第13章 委託、事件和 Lambda表達式 247
13.1 委託 247
13.1.1 聲明委託 247
13.1.2 創建委託 247
13.1.3 多播委託 249
13.1.4 逆變和協變 251
13.2 事件 253
13.2.1 聲明事件 253
13.2.2 訂閱事件 254
13.2.3 取消訂閱事件 255
13.2.4 引發事件 255
13.2.5 使用事件 255
13.3 匿名函式 257
13.3.1 匿名方法 257
13.3.2 給匿名方法傳遞參數 258
13.3.3 從匿名方法中返回值 259
13.4 Lambda表達式 260
13.4.1 Lambda運算符和Lambda表達式 261
13.4.2 Lambda表達式的形式 263
13.4.3 語句Lambda 263
13.5 小結 265
13.6 習題 265
第14章 命名空間、預處理器和程式集 269
14.1 命名空間 269
14.1.1 命名空間的聲明 269
14.1.2 命名空間的作用 272
14.1.3 using指令 273
14.1.4 using指令的另一種形式 275
14.1.5 命名空間的合成 277
14.1.6 嵌套命名空間 278
14.1.7 全局命名空間 280
14.1.8 使用命名空間別名限定符(::) 280
14.2 預處理器 281
14.2.1 #define 281
14.2.2 #if和#endif 282
14.2.3 #else和#elif 284
14.2.4 #undef 287
14.2.5 #error 287
14.2.6 #warning 288
14.2.7 #line 289
14.2.8 #region和#endregion 289
14.2.9 #pragma 290
14.3 程式集291
14.4 小結 292
14.5 習題 293
第15章 運行時類型標識、反射和特性 297
15.1 運行時類型標識297
15.1.1 is運算符測試類型 297
15.1.2 as運算符299
15.1.3 typeof運算符 300
15.2 反射 301
15.2.1 System.Type 301
15.2.2 使用反射獲取方法的相關信息 302
15.2.3 使用反射調用方法 306
15.2.4 使用反射獲取Type對象的構造函式 308
15.2.5 使用反射從程式集獲得類型 308
15.3 特性 311
15.3.1 創建特性 311
15.3.2 連線特性 313
15.3.3 獲取對象的特性 313
15.3.4 3個內置特性 316
15.4 小結 319
15.5 習題 319
第16章 泛型 327
16.1 泛型簡介 327
16.2 類型約束 328
16.2.1 基類約束 329
16.2.2 接口約束 330
16.2.3 new()構造函式約束331
16.2.4 引用類型約束和值類型約束 332
16.2.5 使用約束建立兩個類型形參之間的關係 334
16.2.6 使用多個約束 335
16.3 泛型結構 336
16.4 泛型方法 337
16.5 泛型委託 338
16.6 泛型接口 339
16.7 泛型類的層次結構 341
16.8 使用泛型的限制343
16.9 小結 343
16.10 習題 343
第17章 LINQ 349
17.1 LINQ的基礎知識 349
17.1.1 簡單查詢 349
17.1.2 多次執行查詢 351
17.2 查詢表達式中使用的上下文關鍵 352
17.2.1 使用where子句篩選值 352
17.2.2 使用orderby子句排序結果 354
17.2.3 select子句 358
17.2.4 使用嵌套的from子句 364
17.2.5 使用group子句分組結果 365
17.2.6 使用into子句創建延續 366
17.2.7 在查詢中使用let子句創建變數 367
17.2.8 使用join子句連線兩個序列 368
17.3 匿名類型 370
17.4 創建組連線372
17.5 查詢方法 374
17.5.1 使用查詢方法創建查詢 374
17.5.2 查詢語法與查詢方法的對比 376
17.6 延期執行查詢和立即執行查詢376
17.7 表達式樹 376
17.8 擴展方法 378
17.9 小結 379
17.10 習題 379
第18章 資料庫開發 385
18.1 常用資料庫385
18.1.1 Oracle資料庫 385
18.1.2 Access資料庫 385
18.1.3 SQL Server資料庫 386
18.2 .NET下的資料庫連線方式 386
18.2.1 通過連線字元串連線Access資料庫 386
18.2.2 通過連線字元串連線SQL Server資料庫 387
18.2.3 通過控制項連線資料庫 389
18.3 SQL語句 391
18.3.1 select語句 391
18.3.2 where語句 393
18.3.3 order by語句 395
18.3.4 insert into語句 397
18.3.5 delete語句 399
18.3.6 update語句 401
18.4 小結 403
18.5 習題 403

前言

C#是微軟公司推出的一種面向對象的開發語言,於2002年發布,經歷了10年的發展,已經廣泛套用於各種生產領域。同時,C#已經套用於Windows Phone、平板電腦等嵌入式設備中。微軟在2012年推出C#的最新版本C# 5.0。本書以該版本為標準,對C#進行了詳細的講解。
筆者結合自己多年的C#開發經驗和心得體會,希望讀者能在本書的引領下跨入C#開發大門,並成為一名開發高手。本書結合大量多媒體教學視頻,全面、系統、深入地介紹了C#開發技術,並以大量的實例貫穿於全書的講解之中。學習完本書後,讀者應該可以具備獨立進行項目開發的能力。
本書特色
1.配大量多媒體語音教學視頻,學習效果好
筆者專門錄製了大量的配套多媒體語音教學視頻,以便讓讀者更加輕鬆、直觀地學習本書內容,提高學習效率。這些視頻與本書原始碼一起收錄於配書光碟中。
2.內容全面、系統、深入
本書介紹了C#開發的基礎知識、C#內置的類庫的使用方法等內容,最後還詳細介紹了資料庫開發的相關知識。
3.講解由淺入深,循序漸進,適合各個層次的讀者閱讀
本書從C#的基礎開始講解,逐步深入到C#的高級開發技術及套用,內容梯度從易到難,講解由淺入深,循序漸進,適合各個層次的讀者閱讀。
4.貫穿大量的開發實例和技巧,迅速提升開發水平
本書在講解知識點時貫穿了大量短小精悍的典型實例,並給出了大量的開發技巧,以便讓讀者更好地理解各種概念和開發技術,體驗實際編程,迅速提高開發水平。

本書內容及體系結構

第一篇C#概述篇(第1章)介紹的是C#的開發環境Visual Studio 2012及其搭建。本篇主要內容包括:Visual Studio 2012開發環境的搭建、VisualStudio 2012第一個程式Hello World的創建等。通過本章的學習,讀者可以掌握Visual Studio 2012開發環境和C#編程的大概流程。
第二篇面向對象基礎篇(第2~10章)介紹的是面向對象的基礎。本篇主要內容包括:類、對象、欄位、方法、流程控制、數組、繼承、屬性、運算符重載、接口等C#基本內容。通過本篇的學習,讀者可以掌握面向對象的基礎內容和C#編程的語法及核心思想。
第三篇套用技術篇(第11~18章)介紹的是C#各種技術的套用。本篇主要內容包括:異常處理、檔案和流、委託、事件、Lambda表達式、命名空間、預處理器、程式集、運行時類型標識、反射、特性、泛型、LINQ和資料庫開發等。通過本篇的學習,讀者可以掌握C#中各種常見的異常處理方式和資料庫訪問技術等。

本書讀者對象

C#初學者。
想全面學習C#開發技術的人員。
C#專業開發人員。
利用C#做開發的工程技術人員。
C#開發愛好者。
大中專院校的學生。
社會培訓班學員。
需要一本案頭必備手冊的程式設計師。

致謝

本書主要由谷濤(天津工業大學)、扶曉(空軍航空大學)、畢國鋒(黑龍江廣播電視大學)編寫。其中,谷濤負責編寫第1~7章,扶曉負責編寫第8~14章,畢國鋒負責編寫第15~18章。由於時間匆忙,書中難免有疏漏和不妥之處,盡請不吝指正。

相關詞條

熱門詞條

聯絡我們