C#語言程式設計基礎

C#語言程式設計基礎

《C#語言程式設計基礎》是2010年12月30日清華大學出版社出版的圖書,作者是鄭宇軍、王侃、凌海風。

基本介紹

  • 書名:C#語言程式設計基礎
  • 作者:鄭宇軍、王侃、凌海風
  • ISBN:9787302168478
  • 定價:39元
  • 出版社清華大學出版社
  • 出版時間:2010年12月30日
  • 裝幀平裝
  • 開本:16開
內容簡介,圖書前言,圖書目錄:,

內容簡介

C#語言是。NET平台上的核心開發語言,C# 2.0版本更是將泛型思想和對象技術進行了完美融合。本書是關於C#語言程式設計的基礎教科書,本書介紹C#的基本語法和類型系統;面向對象程式設計,包括對象、接口、繼承和多態性;泛型程式設計,包括泛型類型、可空類型、泛型方法和匿名方法;商業套用開發的基礎知識,包括異常處理、檔案操作和多執行緒等。
本書可作為高等院校計算機及相關專業的程式設計語言教材,也可供專業開發人員學習參考。

圖書前言

作本書期間,幸值David Gries先生來華訪問。交流中談及大學計算機專業的第一門程式設計課程,Gries非常強調抽象編程思維和良好編程風格的培養,並提倡“對象先行”(object first)的教學方式,以及“深入語言編程”(programming into a language)的實踐方法。
這也引發了筆者的進一步思考。軟體開發方式發生了深刻的變革;軟體已不再是個人精雕細琢的藝術品,而是一系列標準化軟體過程活動的產品。在引導讀者走入編程世界的過程中,應當選取一門簡單易學、類型安全且完全面向對象的程式設計語言,同時又要避免課程淪為開發工具和語言的職業培訓。而無論讀者日後成長為計算機理論研究的學者,還是專業軟體開發人員,科學的編程思想始終是他們腦中的“武功秘訣”,流行的語言工具則隨時能夠成為他們手中的利器。
C#語言脫胎於C/C++,同時汲取了Java、Delphi等語言的精華,是.NET平台上的核心開發語言。C# 2.0更是將泛型編程思想與面向對象技術進行了完美的融合,使其成為符合現代軟體工程要求的主流程式設計語言。為適應.NET技術發展的趨勢,特別是滿足大中專院校開設C#程式設計課程的要求,我們組織編寫了此書。本書循序漸進、深入細緻地講解了C#語言的編程技術,並重點介紹了C# 2.0的新增特性。全書內容共包括4個部分17章。
* C#語言基礎:第1章介紹了.NET技術和C#語言的概貌,第2~5章則依次講解了C#的類型系統、常量和變數、表達式,以及控制結構。
* 面向對象的程式設計:第6章和第7章詳細介紹了C#面向對象的基本要素,包括類的封裝、繼承和多態性,第8章則通過若干常用類型來加深對相關概念的理解。
* 泛型程式設計:第9章是泛型的基礎概念,第10章的可空類型就是泛型結構的一個典型實例,第11章繼續深入講解了泛型接口、方法和委託,第12章和第13章則分別介紹了有關泛型的兩個高級套用——遍歷器和匿名方法。
* 商業套用開發:第14~17章介紹了C#商業套用開發的必備知識,包括異常處理、檔案操作、多執行緒處理,以及代碼組織。
每一章在結束時都對主要知識點進行了回顧和總結,並通過一定數量的習題來幫助讀者溫習所學內容。對於面向對象技術的初學者來說,最困難的部分應是類的繼承和多態性;對於有一定基礎的開發者來說,C#語言中最不易掌握的可能是委託(delegate)
這個概念。而C# 2.0新增的兩個主要特性——泛型和匿名方法,又恰恰增加了這兩方面內容的深度。因此第7、9、13章是本書的難點所在。
全書提供了大量鮮明生動的案例程式,全部原始碼及配套課件、測試題等相關資源均可在清華大學出版社網站下載。本書另外配有上機實驗指導書,可供教學使用。
針對高校計算機科學與技術專業、計算機套用專業與非計算機專業程式設計課程的不同需求,下表分別給出了建議的課程學時安排(括弧中表示上機學時,×表示選修或自學內容)。

圖書目錄:

第1章 緒論 1
1.1 Microsoft .NET技術 1
1.2 .NET Framework 2
1.2.1 公共語言運行時(CLR) 3
1.2.2 .NET類庫 3
1.3 C#語言簡介 4
1.4 開發第一個C#應用程式 6
1.5 C#程式的基本結構 8
1.5.1 程式集 8
1.5.2 命名空間 10
1.5.3 類型和方法 10
1.5.4 程式注釋 12
1.6 與用戶進行互動 12
1.6.1 控制台互動 12
1.6.2 Windows窗體應用程式 15
本章小結 17
習題1 17
第2章 C#數據類型 19
2.1 值類型 19
2.1.1 整數類型 19
2.1.2 字元類型 22
2.1.3 實數類型 23
2.1.4 布爾類型 24
2.1.5 結構 25
2.1.6 枚舉 26
2.2 引用類型 28
2.2.1 類 28
2.2.2 接口 31
2.2.3 委託 33
2.2.4 數組 35
2.3 類型轉換 39
2.3.1 數值轉換 39
2.3.2 枚舉轉換 42
2.3.3 引用轉換 43
2.3.4 裝箱和拆箱轉換 45
2.3.5 轉換檢查 47
本章小結 47
習題2 47
第3章 成員、變數和常量 50
3.1 基本成員類型 50
3.1.1 欄位 50
3.1.2 方法 51
3.1.3 嵌套成員 56
3.2 成員訪問限制 56
3.2.1 private修飾符 56
3.2.2 public修飾符 57
3.2.3 protected修飾符 58
3.2.4 internal修飾符 58
3.2.5 訪問限制級別 60
3.3 靜態成員和非靜態成員 61
3.4 變數 63
3.5 常量 66
本章小結 68
習題3 68
第4章 操作符和表達式 71
4.1 操作符 71
4.2 算術表達式 72
4.2.1 基本算術運算 72
4.2.2 枚舉運算 75
4.2.3 模運算 76
4.2.4 其他 77
4.3 自增和自減表達式 79
4.4 位運算表達式 80
4.4.1 取補運算 80
4.4.2 與、或、異或運算 81
4.4.3 移位運算 82
4.5 賦值表達式 83
4.6 關係表達式 84
4.6.1 比較運算 84
4.6.2 類型判斷 85
4.7 條件邏輯表達式 87
4.8 其他特殊表達式 88
4.8.1 一元加減表達式 88
4.8.2 條件表達式 89
4.8.3 類型表達式 89
4.8.4 創建表達式 93
4.8.5 溢出檢查表達式 95
本章小結 96
習題4 96
第5章 流程控制 98
5.1 選擇結構 98
5.1.1 if語句 98
5.1.2 switch語句 101
5.2 循環結構 103
5.2.1 while循環語句 103
5.2.2 do-while循環語句 104
5.2.3 for循環語句 106
5.2.4 foreach循環語句 109
5.3 跳轉結構 111
5.3.1 break語句 111
5.3.2 continue語句 112
5.3.3 return語句 113
5.3.4 goto語句 114
本章小結 116
習題5 116
第6章 深入理解類 118
6.1 面向對象的方法學 118
6.2 構造函式和析構函式 119
6.2.1 構造函式 119
6.2.2 析構函式 121
6.2.3 靜態構造函式 121
6.3 屬性 123
6.4 索引函式 126
6.5 事件 129
6.5.1 事件與委託 129
6.5.2 使用EventHandler委託對象 131
6.5.3 Windows控制項事件 133
6.6 操作符重載 135
6.7 this關鍵字 139
本章小結 142
習題6 142
第7章 繼承和多態性 145
7.1 繼承 145
7.1.1 基類和派生類 145
7.1.2 成員覆蓋 149
7.1.3 對象生命周期 151
7.2 多態性 153
7.2.1 成員的虛擬和重載 153
7.2.2 抽象方法和抽象類 157
7.2.3 密封方法和密封類 160
7.3 接口及其實現 162
7.3.1 接口和抽象類 162
7.3.2 接口方法調用 163
7.3.3 接口與集合 168
本章小結 173
習題7 174
第8章 常用類型 176
8.1 Math類 176
8.2 字元串類型 179
8.2.1 構造字元串 179
8.2.2 字元操作 180
8.2.3 子串操作 183
8.2.4 格式化與解析 187
8.2.5 使用StringBuilder類 192
8.3 窗體和控制項類 194
8.3.1 與窗體界面有關的若干結構 194
8.3.2 Form類 195
8.3.3 Control類 198
8.3.4 其他基本控制項 199
本章小結 202
習題8 203
第9章 泛型基礎 204
9.1 為何使用泛型 204
9.2 創建泛型類 206
9.2.1 泛型集合示例 206
9.2.2 成員與類型參數 208
9.2.3 調用類型參數 210
9.2.4 泛型的靜態成員 211
9.3 多參數泛型 212
9.3.1 使用多個類型參數 212
9.3.2 類型參數與標識 215
9.4 類型限制 216
9.4.1 主要限制 216
9.4.2 次要限制 216
9.4.3 構造函式限制 219
9.5 泛型與繼承 219
9.5.1 普通基類與派生泛型類 220
9.5.2 泛型基類與普通派生類 222
9.5.3 泛型基類與泛型派生類 223
本章小結 226
習題9 227
第10章 可空類型 229
10.1 引入可空類型 229
10.2 泛型結構Nullable 232
10.2.1 概述 232
10.2.2 結構成員 233
10.3 可空類型的轉換 234
10.4 可空類型上的操作 237
10.4.1 類型檢查 237
10.4.2 空值結合 237
10.4.3 操作符提升 238
10.5 可空布爾類型 241
本章小結 243
習題10 243
第11章 泛型接口、方法和委託 245
11.1 泛型接口 245
11.1.1 概述 245
11.1.2 繼承中的唯一性 250
11.1.3 泛型接口與集合 253
11.2 泛型方法 257
11.2.1 概述 257
11.2.2 定義和調用 258
11.2.3 方法標識 260
11.2.4 方法重載 262
11.3 泛型方法與委託 267
本章小結 270
習題11 270
第12章 遍歷器 273
12.1 foreach語句與遍歷 273
12.2 理解可枚舉類型 275
12.2.1 IEnumerable和IEnumerable<T>接口 275
12.2.2 實現多種遍歷方式 277
12.3 使用枚舉器 283
12.3.1 Iterator模式 283
12.3.2 自定義枚舉器 284
12.4 遍歷機制 287
12.4.1 遍歷器代碼 287
12.4.2 遍歷流程 289
12.5 自我枚舉和遍歷 290
本章小結 294
習題12 294
第13章 匿名方法 296
13.1 命名方法和匿名方法 296
13.2 深入了解Delegate類 298
13.2.1 創建委託對象 298
13.2.2 屬性 299
13.2.3 方法調用 301
13.3 匿名方法的定義規則 303
13.4 外部變數 304
13.5 委託對象作為方法參數和返回值 307
13.6 在事件中使用匿名方法 312
本章小結 316
習題13 316
第14章 異常處理 319
14.1 錯誤和異常 319
14.2 C#中的異常處理結構 322
14.2.1 try-catch語句 322
14.2.2 try-catch-finally語句 324
14.2.3 try-finally語句 328
14.2.4 throw語句 328
14.3 異常的層次結構 330
14.3.1 異常傳播 331
14.3.2 Exception類 333
14.3.3 常見異常類型 335
14.4 使用異常的原則和技巧 337
本章小結 338
習題14 338
第15章 檔案IO操作 341
15.1 檔案系統概述 341
15.2 驅動器、目錄和檔案 342
15.2.1 與IO操作相關的枚舉 342
15.2.2 驅動器 343
15.2.3 目錄 346
15.2.4 檔案 349
15.3 檔案流和數據流 352
15.3.1 抽象類Stream 352
15.3.2 檔案流FileStream 354
15.3.3 流的文本讀寫器 356
15.3.4 流的二進制讀寫器 359
15.3.5 常用的其他流對象 360
15.4 自定義IO操作 363
本章小結 369
習題15 369
第16章 進程和執行緒 371
16.1 進程 371
16.2 執行緒 376
16.2.1 使用多執行緒 376
16.2.2 執行緒對象及其狀態 380
16.2.3 執行緒同步 383
16.2.4 異步回調 389
本章小結 392
習題16 392
第17章 代碼組織與管理 394
17.1 分部類型 394
17.1.1 分部類型的定義 394
17.1.2 分部泛型 396
17.1.3 分部類型的套用 398
17.2 代碼中的預處理器指令 402
17.2.1 條件編譯 402
17.2.2 編譯警告和錯誤 407
17.2.3 其他一些預處理器指令 408
17.3 XML代碼注釋 408
17.3.1 使用XML注釋 408
17.3.2 關於注釋標記 411
本章小結 413
習題17 413
參考文獻 415

相關詞條

熱門詞條

聯絡我們