注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)C#本質(zhì)論(第2版)

C#本質(zhì)論(第2版)

C#本質(zhì)論(第2版)

定 價(jià):¥85.00

作 者: (美)米凱利斯 著,周靖 譯
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈程序設(shè)計(jì)叢書
標(biāo) 簽: VC++

ISBN: 9787115213877 出版時(shí)間: 2009-11-01 包裝: 平裝
開本: 大16開 頁數(shù): 610 字?jǐn)?shù):  

內(nèi)容簡介

  《C#本質(zhì)論(第2版)》是一部廣受好評的名作,作者用一種易于理解的方式詳細(xì)介紹了 C#語言的各個(gè)方面。全書共有 21章以及 3個(gè)附錄,每章開頭的 “思維導(dǎo)圖 ”指明本章要討論的主題,以及各個(gè)主題之間的層次關(guān)系。書中所包含的豐富的示例代碼和精要的語言比較,都對讀者理解C#語言有所裨益?!禖#本質(zhì)論(第2版)》介紹了C#語言的數(shù)據(jù)類型、運(yùn)算符、方法、類等基本概念,深入討論了泛型、迭代器、反射、線程和互操作性等高級主題,還介紹了語言集成查詢(LINQ)技術(shù),以及與其相關(guān)的擴(kuò)展方法、分部方法、Lambda表達(dá)式、標(biāo)準(zhǔn)查詢操作符和查詢表達(dá)式等內(nèi)容?!禖#本質(zhì)論(第2版)》適合對C#感興趣的各個(gè)層次的讀者,無論對初學(xué)者還是有經(jīng)驗(yàn)的開發(fā)者,《C#本質(zhì)論(第2版)》都是一本很有價(jià)值的參考書。

作者簡介

  Mark Michaelis 微軟MVP,微軟技術(shù)代言人,是intelliTechture公司的創(chuàng)始人和總裁,。他在C#開發(fā)方面有著很深的造詣,曾參與過C#和VSTS/TFS等多種微軟軟件產(chǎn)品的設(shè)計(jì)評審。本書是他的代表作。

圖書目錄

第1章 C#概述
1.1 Hello,World 1
1.2 C#語法基礎(chǔ) 3
1.2.1 C#關(guān)鍵字 3
1.2.2 類型定義 4
1.2.3 Main 5
1.2.4 語句和語句分隔符 6
1.2.5 空白 7
1.3 使用變量 8
1.3.1 數(shù)據(jù)類型 8
1.3.2 變量的聲明 9
1.3.3 變量的賦值 9
1.3.4 變量的使用 10
1.4 控制臺輸入和輸出 11
1.4.1 從控制臺獲取輸入 11
1.4.2 將輸出寫入控制臺 12
1.5 注釋 14
1.6 托管執(zhí)行和公共語言基礎(chǔ)結(jié)構(gòu) 15
1.7 C#和.NET版本 17
1.8 CIL和ILDASM 18
1.9 小結(jié) 20
第2章 數(shù)據(jù)類型 21
2.1 基本數(shù)值類型 21
2.1.1 整數(shù)類型 21
2.1.2 浮點(diǎn)類型(float,clouble) 22
2.1.3 decimal類型 23
2.1.4 字面值 23
2.2 更多基本類型 27
2.2.1 布爾類型(bool) 27
2.2.2 字符類型(char) 27
2.2.3 字符串 29
2.3 null和void 34
2.3.1 null 35
2.3.2 void 35
2.4 類型的分類 37
2.4.1 值類型 37
2.4.2 引用類型 38
2.5 可空修飾符 39
2.6 數(shù)據(jù)類型之間的轉(zhuǎn)換 39
2.6.1 顯式轉(zhuǎn)型 40
2.6.2 隱式轉(zhuǎn)型 42
2.6.3 不進(jìn)行轉(zhuǎn)型的類型轉(zhuǎn)換 43
2.7 數(shù)組 44
2.7.1 數(shù)組的聲明 44
2.7.2 數(shù)組的實(shí)例化和賦值 45
2.7.3 數(shù)組的使用 48
2.7.4 字符串作為數(shù)組使用 53
2.7.5 常見錯(cuò)誤 55
2.8 小結(jié) 55
第3章 運(yùn)算符和控制流 57
3.1 運(yùn)算符 57
3.1.1 一元運(yùn)算符正和負(fù) 58
3.1.2 二元算術(shù)運(yùn)算符 58
3.1.3 圓括號運(yùn)算符 64
3.1.4 賦值運(yùn)算符 64
3.1.5 遞增和遞減運(yùn)算符 65
3.1.6 常量表達(dá)式 68
3.2 流控制概述 68
3.2.1 if語句 70
3.2.2 嵌套if 70
3.3 代碼塊 72
3.4 作用域 74
3.5 布爾表達(dá)式 75
3.5.1 關(guān)系運(yùn)算符和相等性運(yùn)算符 76
3.5.2 邏輯布爾運(yùn)算符 77
3.5.3 邏輯求反運(yùn)算符 78
3.5.4 條件運(yùn)算符 78
3.6 按位運(yùn)算符 79
3.6.1 移位運(yùn)算符 80
3.6.2 按位運(yùn)算符 80
3.6.3 按位賦值運(yùn)算符 82
3.6.4 按位取反運(yùn)算符 83
3.7 控制流語句 83
3.7.1 while和do/while循環(huán) 83
3.7.2 for循環(huán) 85
3.7.3 foreach循環(huán) 87
3.7.4 switch語句 89
3.8 跳轉(zhuǎn)語句 91
3.8.1 break語句 91
3.8.2 continue語句 94
3.8.3 goto語句 95
3.9 C#預(yù)處理器指令 96
3.9.1 排除和包含代碼 97
3.9.2 定義預(yù)處理器符號 98
3.9.3 生成錯(cuò)誤和警告 98
3.9.4 關(guān)閉警告消息 99
3.9.5 nowarn:選項(xiàng) 99
3.9.6 指定行號 100
3.9.7 可視編輯器提示 100
3.10 小結(jié) 101
第4章 方法和參數(shù) 103
4.1 方法的調(diào)用 104
4.1.1 命名空間 105
4.1.2 類型名稱 106
4.1.3 作用域 106
4.1.4 方法名稱 107
4.1.5 參數(shù) 107
4.1.6 方法返回值 107
4.1.7 語句與方法調(diào)用的比較 108
4.2 方法的聲明 108
4.2.1 參數(shù)聲明 110
4.2.2 方法返回值聲明 110
4.3 using指令 111
4.4 Main()的返回值和參數(shù) 114
4.5 參數(shù) 116
4.5.1 值參數(shù) 117
4.5.2 引用參數(shù)(ref) 118
4.5.3 輸出參數(shù)(out) 119
4.5.4 參數(shù)數(shù)組(params) 120
4.6 遞歸 122
4.7 方法重載 124
4.8 用異常實(shí)現(xiàn)基本錯(cuò)誤處理 127
4.8.1 捕捉錯(cuò)誤 128
4.8.2 使用throw語句報(bào)告錯(cuò)誤 134
4.9 小結(jié) 136
第5章 類 137
5.1 類的定義和實(shí)例化 140
5.2 實(shí)例字段 142
5.2.1 實(shí)例字段的聲明 142
5.2.2 實(shí)例字段的訪問 143
5.3 實(shí)例方法 144
5.4 使用this關(guān)鍵字 145
5.5 訪問修飾符 151
5.6 屬性 152
5.6.1 屬性的聲明 154
5.6.2 自動(dòng)實(shí)現(xiàn)的屬性 155
5.6.3 命名規(guī)范 157
5.6.4 提供屬性驗(yàn)證 157
5.6.5 只讀和只寫屬性 159
5.6.6 為getter和setter指定訪問修飾符 160
5.6.7 屬性作為虛字段使用 161
5.6.8 屬性和方法調(diào)用不允許作為ref或out參數(shù)值使用 163
5.7 構(gòu)造器 164
5.7.1 構(gòu)造器的聲明 164
5.7.2 默認(rèn)構(gòu)造器 165
5.7.3 對象初始化器 166
5.7.4 構(gòu)造器的重載 167
5.7.5 使用this調(diào)用另一個(gè)構(gòu)造器 168
5.8 靜態(tài) 172
5.8.1 靜態(tài)字段 172
5.8.2 靜態(tài)方法 175
5.8.3 靜態(tài)構(gòu)造器 176
5.8.4 靜態(tài)屬性 177
5.8.5 靜態(tài)類 178
5.9 擴(kuò)展方法 180
5.10 封裝數(shù)據(jù) 181
5.10.1 const 181
5.10.2 readonly 181
5.11 嵌套類 182
5.12 分部類 184
5.12.1 定義分部類 184
5.12.2 分部方法 185
5.13 小結(jié) 188
第6章 繼承 189
6.1 派生 189
6.1.1 基類型和派生類型之間的轉(zhuǎn)型 192
6.1.2 private訪問修飾符 193
6.1.3 protected訪問修飾符 194
6.1.4 擴(kuò)展方法 195
6.1.5 單一繼承 195
6.1.6 密封類 197
6.2 基類的重寫 198
6.2.1 virtual修飾符 198
6.2.2 new修飾符 202
6.2.3 sealed修飾符 205
6.2.4 base成員 206
6.2.5 構(gòu)造器 206
6.3 抽象類 207
6.4 一切最終都從System.Object派生 212
6.5 使用is運(yùn)算符驗(yàn)證基礎(chǔ)類型 213
6.6 使用as運(yùn)算符進(jìn)行轉(zhuǎn)換 213
6.7 小結(jié) 215
第7章 接口 216
7.1 接口概述 216
7.2 通過接口來實(shí)現(xiàn)多態(tài)性 217
7.3 接口實(shí)現(xiàn) 222
7.3.1 顯式成員實(shí)現(xiàn) 223
7.3.2 隱式成員實(shí)現(xiàn) 225
7.3.3 顯式接口實(shí)現(xiàn)與隱式接口實(shí)現(xiàn)的比較 225
7.4 “實(shí)現(xiàn)類”與其接口之間的轉(zhuǎn)型 226
7.5 接口繼承 226
7.6 多接口繼承 228
7.7 接口上的擴(kuò)展方法 229
7.8 通過接口來實(shí)現(xiàn)多重繼承 230
7.9 版本控制 232
7.10 接口與類的比較 234
7.11 小結(jié) 234
第8章 值類型 235
8.1 結(jié)構(gòu) 235
8.1.1 struct的初始化 238
8.1.2 default運(yùn)算符的使用 240
8.1.3 值類型的繼承和接口 240
8.2 裝箱 240
8.3 枚舉 245
8.3.1 枚舉之間的類型兼容性 248
8.3.2 枚舉和字符串之間的轉(zhuǎn)換 249
8.3.3 枚舉作為標(biāo)志使用 249
8.4 小結(jié) 253
第9章 合式類型 254
9.1 重寫object的成員 254
9.1.1 重寫ToString() 254
9.1.2 重寫GetHashCode() 255
9.1.3 重寫Equals() 257
9.1.4 相等性實(shí)現(xiàn)的指導(dǎo)原則 263
9.2 運(yùn)算符重載 263
9.2.1 比較運(yùn)算符 263
9.2.2 二元運(yùn)算符 264
9.2.3 賦值運(yùn)算符與二元運(yùn)算符的結(jié)合 266
9.2.4 條件邏輯運(yùn)算符 266
9.2.5 一元運(yùn)算符 266
9.2.6 轉(zhuǎn)換運(yùn)算符 267
9.2.7 轉(zhuǎn)換運(yùn)算符的指導(dǎo)原則 269
9.3 引用其他程序集 269
9.3.1 更改程序集目標(biāo) 269
9.3.2 引用程序集 270
9.3.3 類型封裝 270
9.4 定義命名空間 272
9.5 XML注釋 274
9.5.1 將XML注釋與代碼構(gòu)造關(guān)聯(lián)到一起 275
9.5.2 生成XML文檔文件 277
9.6 垃圾回收 278
9.7 資源清理 280
9.7.1 終結(jié)器 280
9.7.2 使用using語句進(jìn)行確定性終結(jié) 282
9.7.3 垃圾回收和終結(jié) 284
9.7.4 資源利用和終結(jié)的指導(dǎo)原則 285
9.8 小結(jié) 286
第10章 異常處理 287
10.1 多異常類型 287
10.2 捕捉異?!?88
10.3 常規(guī)catch塊 290
10.4 異常處理的指導(dǎo)原則 291
10.5 定義自定義異常 293
10.6 小結(jié) 297
第11章 泛型 298
11.1 如果C#沒有泛型 298
11.2 泛型類型概述 303
11.2.1 泛型類的使用 303
11.2.2 簡單泛型類的定義 305
11.2.3 泛型的優(yōu)點(diǎn) 305
11.2.4 類型參數(shù)命名的指導(dǎo)原則 306
11.2.5 泛型接口和struct 306
11.2.6 構(gòu)造器和終結(jié)器的定義 308
11.2.7 默認(rèn)值的指定 309
11.2.8 多個(gè)類型參數(shù) 310
11.2.9 嵌套泛型類型 311
11.2.10 在“類型參數(shù)”兼容的前提下,泛型類的實(shí)例之間的類型兼容性 312
11.3 約束 312
11.3.1 接口約束 314
11.3.2 基類約束 316
11.3.3 struct/class約束 317
11.3.4 多個(gè)約束 317
11.3.5 構(gòu)造器約束 318
11.3.6 約束繼承 318
11.4 泛型方法 322
11.4.1 類型推斷 323
11.4.2 約束的指定 324
11.5 泛型的內(nèi)部機(jī)制 325
11.5.1 基于值類型的泛型的實(shí)例化 327
11.5.2 基于引用類型的泛型的實(shí)例化 327
11.6 小結(jié) 328
第12章 委托和Lambda表達(dá)式 329
12.1 委托概述 329
12.1.1 背景 329
12.1.2 委托數(shù)據(jù)類型 331
12.1.3 委托的內(nèi)部機(jī)制 333
12.1.4 委托類型的定義 333
12.1.5 委托的實(shí)例化 334
12.2 匿名方法 338
12.3 系統(tǒng)定義的委托:Func<> 340
12.4 Lambda表達(dá)式 341
12.4.1 語句Lambda 342
12.4.2 表達(dá)式Lambda 344
12.4.3 外部變量 347
12.4.4 表達(dá)式樹 350
12.5 小結(jié) 354
第13章 事件 355
13.1 使用multicast委托來編碼Observer模式 355
13.1.1 定義Subscriber方法 356
13.1.2 定義Publisher 357
13.1.3 連接Publisher和Subscriber 358
13.1.4 調(diào)用委托 359
13.1.5 檢查空值 360
13.1.6 委托運(yùn)算符 361
13.1.7 順序調(diào)用 363
13.1.8 錯(cuò)誤處理 365
13.1.9 方法返回值和傳引用 367
13.2 事件 368
13.2.1 事件的作用 368
13.2.2 事件的聲明 369
13.2.3 編碼規(guī)范 370
13.2.4 泛型和委托 372
13.2.5 自定義事件的實(shí)現(xiàn) 375
13.3 小結(jié) 376
第14章 支持標(biāo)準(zhǔn)查詢運(yùn)算符的集合接口 377
14.1 匿名類型和隱式局部變量聲明 378
14.1.1 匿名類型 378
14.1.2 隱式類型的局部變量 379
14.1.3 匿名類型和隱式局部變量的更多注意事項(xiàng) 380
14.2 集合初始化器 383
14.3 是什么使類成為一個(gè)集合:IEnumerable 385
14.3.1 foreach和數(shù)組 385
14.3.2 foreach和IEnumerable 386
14.3.3 foreach循環(huán)內(nèi)不要修改集合 389
14.4 標(biāo)準(zhǔn)查詢運(yùn)算符 390
14.4.1 使用Where()來篩選 393
14.4.2 使用Select()來投射 394
14.4.3 推遲執(zhí)行 396
14.4.4 使用OrderBy()和ThenBy()來排序 398
14.4.5 使用Join()來執(zhí)行內(nèi)部聯(lián)接 404
14.4.6 使用GroupJoin()實(shí)現(xiàn)一對多關(guān)系 407
14.4.7 調(diào)用SelectMany() 409
14.4.8 更多標(biāo)準(zhǔn)查詢運(yùn)算符 411
14.5 小結(jié) 414
第15章 查詢表達(dá)式 416
15.1 查詢表達(dá)式概述 416
15.1.1 投射 418
15.1.2 篩選 423
15.1.3 排序 424
15.1.4 Let 425
15.1.5 分組 427
15.2 查詢表達(dá)式作為方法調(diào)用 431
15.3 小結(jié) 432
第16章 構(gòu)建自定義集合 433
16.1 更多集合接口 434
16.1.1 IList與IDictionary 434
16.1.2 IComparable 435
16.1.3 ICollection 437
16.2 主要集合類 437
16.2.1 列表集合:List 437
16.2.2 字典集合:Dictionary 441
16.2.3 已排序集合:SortedDictionary和SortedList 445
16.2.4 棧集合:Stack 447
16.2.5 隊(duì)列集合:Queue 447
16.2.6 鏈表:LinkedList 448
16.3 提供一個(gè)索引運(yùn)算符 449
16.4 返回Null或者空集合 452
16.5 迭代器 452
16.5.1 迭代器的定義 453
16.5.2 迭代器語法 453
16.5.3 從迭代器yield值 454
16.5.4 迭代器和狀態(tài) 456
16.5.5 更多的迭代器例子 457
16.5.6 將yield return語句放到循環(huán)中 459
16.5.7 取消更多的迭代:yield break 461
16.5.8 在單個(gè)類中創(chuàng)建多個(gè)迭代器 463
16.5.9 yield語句的特征 464
16.6 小結(jié) 464
第17章 反射和attribute 465
17.1 反射 465
17.1.1 使用System.Type訪問元數(shù)據(jù) 466
17.1.2 成員調(diào)用 468
17.1.3 泛型類型上的反射 472
17.2 attribute 475
17.2.1 自定義attribute 478
17.2.2 查找attribute 478
17.2.3 使用構(gòu)造器來初始化attribute 479
17.2.4 System.AttributeUsage-Attribute 484
17.2.5 具名參數(shù) 485
17.3 小結(jié) 496
第18章 多線程處理 497
18.1 獨(dú)立線程的運(yùn)行和控制 499
18.1.1 線程的啟動(dòng) 500
18.1.2 線程管理 501
18.2 向線程傳遞參數(shù) 502
18.3 線程池處理 506
18.4 未處理的異常 507
18.5 同步 509
18.5.1 使用Monitor來同步 511
18.5.2 使用lock關(guān)鍵字 512
18.5.3 lock對象的選擇 514
18.5.4 為什么要避免在this和typeof(type)上鎖定 514
18.5.5 將字段聲明為volatile 514
18.5.6 使用System.Threading.Interlocked類 515
18.5.7 多個(gè)線程時(shí)的事件通知 516
18.5.8 同步設(shè)計(jì)最佳實(shí)踐 517
18.5.9 更多的同步類型 518
18.6 計(jì)時(shí)器 522
18.7 小結(jié) 527
第19章 多線程處理模式 528
19.1 Asynchronous Results模式 528
19.1.1 Asynchronous Results模式概述 529
19.1.2 向輪換線程傳入數(shù)據(jù)以及從輪換線程傳出數(shù)據(jù) 531
19.1.3 接收線程完成通知 536
19.1.4 傳遞任意狀態(tài) 538
19.1.5 Asynchronous Results小結(jié) 540
19.2 Background Worker模式 541
19.2.1 模式的建立 543
19.2.2 異常處理 544
19.3 Windows窗體 544
19.4 小結(jié) 547
第20章 平臺互操作性和不安全的代碼 548
20.1 平臺調(diào)用 549
20.1.1 外部函數(shù)的聲明 549
20.1.2 參數(shù)的數(shù)據(jù)類型 550
20.1.3 使用ref而不是指針 551
20.1.4 為順序布局使用StructLayoutAttribute 551
20.1.5 錯(cuò)誤處理 552
20.1.6 使用SafeHandle 554
20.1.7 外部函數(shù)的調(diào)用 556
20.1.8 用包裝簡化API調(diào)用 559
20.1.9 函數(shù)指針映射到委托 560
20.1.10 指導(dǎo)原則 560
20.2 指針和地址 560
20.2.1 不安全的代碼 560
20.2.2 指針的聲明 561
20.2.3 指針的賦值 563
20.2.4 指針的解引用 565
20.2.5 訪問被引用物的類型的成員 566
20.3 小結(jié) 567
第21章 CLI 569
21.1 CLI的定義 569
21.2 CLI實(shí)現(xiàn) 570
21.3 C#編譯成機(jī)器碼 571
21.4 運(yùn)行時(shí) 572
21.4.1 垃圾回收 573
21.4.2 .NET的垃圾回收 573
21.4.3 類型安全 574
21.4.4 代碼訪問安全性 574
21.4.5 平臺可移植性 574
21.4.6 性能 575
21.5 應(yīng)用程序域 576
21.6 程序集、清單和模塊 576
21.7 公共中間語言 578
21.8 公共類型系統(tǒng) 578
21.9 公共語言規(guī)范 579
21.10 基類庫 579
21.11 元數(shù)據(jù) 579
21.12 小結(jié) 580
附錄A 下載和安裝C#編譯器與CLI平臺 581
附錄B 完整源代碼清單 583
附錄C C# 3.0主題 609

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號