天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

c#本質(zhì)論怎么樣_《C#本質(zhì)論(第4版)》

發(fā)布時間:2016-11-02 11:16

  本文關鍵詞:C#本質(zhì)論,由筆耕文化傳播整理發(fā)布。


C#本質(zhì)論(第4版)》

C#本質(zhì)論(第4版)》

基本信息

作者: (美)Mark Michaelis    Eric Lippert   

譯者: 周靖

出版社:人民郵電出版社

ISBN:9787115336750

上架時間:2014-3-6

出版日期:2014 年3月

開本:16開

頁碼:652

版次:1-1

所屬分類:計算機 > 軟件與程序設計 > C/Turbo C > 綜合

c#本質(zhì)論怎么樣_《C#本質(zhì)論(第4版)》

更多關于》》》 C#本質(zhì)論(第4版)》

 

編輯推薦

    C#入門及進階的首選之作

  內(nèi)容全面翔實,講解精彩權(quán)威

  全新升級版,涵蓋C# 5.0

 

內(nèi)容簡介

    書籍

    計算機書籍

  這是c#領域中一部廣受好評的名作,作者用一種易于理解的方式詳細介紹了c#語言的各個方面!C#本質(zhì)論(第4版)》共有21章和4個附錄,介紹了c#語言的數(shù)據(jù)類型、操作符、方法、類、接口、異常處理等基本概念,深入討論了泛型、迭代器、反射、線程和互操作性等高級主題,還介紹了linq技術,以及與其相關的擴展方法、分部方法、lambda表達式、標準查詢操作符和查詢表達式等內(nèi)容。每章開頭的“思維導圖”指明本章要討論的主題,以及各個主題之間的層次關系。為了幫助讀者理解各種c#構(gòu)造,書中用豐富的示例演示每一種特性,而且為每個概念都提供了相應的規(guī)范和最佳實踐,以確保代碼能順利編譯、避免留下隱患,并獲得最佳的可維護性。

  《c#本質(zhì)論(第4版)》是一本語言參考書,遵循核心c# 5.0語言規(guī)范,,適合對c#感興趣的各個層次的讀者。無論對初學者還是具有一定編程經(jīng)驗的開發(fā)者,《C#本質(zhì)論(第4版)》都是一本很有價值的參考書。

 

目錄

C#本質(zhì)論(第4版)》

第1章 c#概述 1

1.1 hello,world 1

1.2 c#語法基礎 3

1.2.1 c#關鍵字 3

1.2.2 標識符 4

1.2.3 類型定義 5

1.2.4 main 6

1.2.5 語句和語句分隔符 7

1.2.6 空白 8

1.2.7 使用變量 8

1.2.8 數(shù)據(jù)類型 9

1.2.9 變量的聲明 9

1.2.10 變量的賦值 10

1.2.11 變量的使用 11

1.3 控制臺輸入和輸出 11

1.3.1 從控制臺獲取輸入 11

1.3.2 將輸出寫入控制臺 12

1.3.3 注釋 14

1.3.4 托管執(zhí)行和公共語言基礎結(jié)構(gòu) 16

1.3.5 c#和.net版本 17

1.3.6 cil和ildasm 18

1.4 小結(jié) 20

第2章 數(shù)據(jù)類型 21

2.1 基本數(shù)值類型 21

2.1.1 整數(shù)類型 22

2.1.2 浮點類型 23

2.1.3 decimal類型 23

2.1.4 字面值 24

2.2 更多基本類型 27

2.2.1 布爾類型 27

2.2.2 字符類型 27

2.2.3 字符串 29

2.3 null和void 34

2.3.1 null 34

2.3.2 void 35

2.4 類型的分類 37

2.4.1 值類型 37

2.4.2 引用類型 37

2.5 可空修飾符 38

2.6 數(shù)據(jù)類型之間的轉(zhuǎn)換 39

2.6.1 顯式轉(zhuǎn)型 39

2.6.2 隱式轉(zhuǎn)型 41

2.6.3 不使用轉(zhuǎn)型操作符的類型轉(zhuǎn)換 42

2.7 數(shù)組 43

2.7.1 數(shù)組的聲明 44

2.7.2 數(shù)組的實例化和賦值 45

2.7.3 數(shù)組的使用 48

2.7.4 字符串作為數(shù)組使用 52

2.7.5 常見數(shù)組錯誤 53

2.8 小結(jié) 55

第3章 操作符和控制流 57

3.1 操作符 57

3.1.1 一元操作符正和負 58

3.1.2 二元算術操作符 58

3.1.3 復合賦值操作符 64

3.1.4 遞增和遞減操作符 65

3.1.5 常量表達式和常量符號 68

3.2 控制流程概述 69

3.2.1 if語句 70

3.2.2 嵌套if 71

3.3 代碼塊 73

3.4 代碼塊、作用域和聲明空間 74

3.5 布爾表達式 76

3.5.1 關系操作符和相等性操作符 77

3.5.2 邏輯布爾操作符 77

3.5.3 邏輯求反操作符 78

3.5.4 條件操作符 79

3.5.5 空接合操作符 80

3.6 按位操作符 80

3.6.1 移位操作符 81

3.6.2 按位操作符 82

3.6.3 按位賦值操作符 83

3.6.4 按位取反操作符 84

3.7 控制流語句(續(xù)) 84

3.7.1 while和do while循環(huán) 84

3.7.2 for循環(huán) 86

3.7.3 foreach循環(huán) 88

3.7.4 switch語句 90

3.8 跳轉(zhuǎn)語句 92

3.8.1 break語句 92

3.8.2 continue語句 94

3.8.3 goto語句 95

3.9 c#預處理指令 97

3.9.1 排除和包含代碼 98

3.9.2 定義預處理符號 98

3.9.3 生成錯誤和警告 99

3.9.4 關閉警告消息 99

3.9.5 nowarn:(warn list)選項 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 作用域 107

4.1.4 方法名稱 107

4.1.5 形參和實參 107

4.1.6 方法返回值 107

4.1.7 語句與方法調(diào)用的比較 108

4.2 方法的聲明 108

4.2.1 形式參數(shù)聲明 109

4.2.2 方法返回類型聲明 110

4.3 using指令 111

4.4 main()的返回值和參數(shù) 114

4.5 方法的參數(shù) 116

4.5.1 值參數(shù) 116

4.5.2 引用參數(shù)(ref) 117

4.5.3 輸出參數(shù)(out) 118

4.5.4 參數(shù)數(shù)組 120

4.6 遞歸 122

4.7 方法重載 124

4.8 可選參數(shù) 126

4.9 用異常實現(xiàn)基本錯誤處理 129

4.9.1 捕捉錯誤 130

4.9.2 使用throw語句報告錯誤 136

4.10 小結(jié) 138

第5章 類 139

5.1 類的定義和實例化 141

5.2 實例字段 144

5.2.1 實例字段的聲明 144

5.2.2 實例字段的訪問 144

5.3 實例方法 145

5.4 使用this關鍵字 146

5.5 訪問修飾符 151

5.6 屬性 153

5.6.1 屬性的聲明 154

5.6.2 自動實現(xiàn)的屬性 155

5.6.3 屬性和字段的設計編碼規(guī)范 157

5.6.4 提供屬性驗證 157

5.6.5 只讀和只寫屬性 159

5.6.6 為取值方法和賦值方法指定訪問修飾符 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 默認構(gòu)造器 165

5.7.3 對象初始化器 166

5.7.4 構(gòu)造器的重載 167

5.7.5 構(gòu)造器鏈:使用this調(diào)用另一個構(gòu)造器 168

5.8 靜態(tài)成員 172

5.8.1 靜態(tài)字段 172

5.8.2 靜態(tài)方法 174

5.8.3 靜態(tài)構(gòu)造器 175

5.8.4 靜態(tài)屬性 176

5.8.5 靜態(tài)類 177

5.9 擴展方法 178

5.10 封裝數(shù)據(jù) 179

5.10.1 const 179

5.10.2 readonly 180

5.11 嵌套類 181

5.12 分部類 183

5.12.1 定義分部類 183

5.12.2 分部方法 184

5.13 小結(jié) 186

第6章 繼承 187

6.1 派生 188

6.1.1 基類型和派生類型之間的轉(zhuǎn)型 190

6.1.2 private訪問修飾符 191

6.1.3 protected訪問修飾符 192

6.1.4 擴展方法 193

6.1.5 單繼承 194

6.1.6 密封類 195

6.2 基類的重寫 196

6.2.1 virtual修飾符 196

6.2.2 new修飾符 199

6.2.3 sealed修飾符 202

6.2.4 base成員 203

6.2.5 構(gòu)造器 204

6.3 抽象類 204

6.4 所有類都從system.object派生 208

6.5 使用is操作符驗證基礎類型 209

6.6 使用as操作符進行轉(zhuǎn)換 210

6.7 小結(jié) 211

第7章 接口 213

7.1 接口概述 213

7.2 通過接口實現(xiàn)多態(tài)性 215

7.3 接口實現(xiàn) 218

7.3.1 顯式成員實現(xiàn) 220

7.3.2 隱式成員實現(xiàn) 221

7.3.3 顯式接口實現(xiàn)與隱式接口實現(xiàn)的比較 221

7.4 在實現(xiàn)類和接口之間轉(zhuǎn)換 222

7.5 接口繼承 222

7.6 多接口繼承 224

7.7 接口上的擴展方法 225

7.8 通過接口實現(xiàn)多繼承 226

7.9 版本控制 228

7.10 接口與類的比較 229

7.11 接口與特性的比較 230

7.12 小結(jié) 230

第8章 值類型 231

8.1 結(jié)構(gòu) 231

8.1.1 結(jié)構(gòu)的初始化 235

8.1.2 default操作符的使用 237

8.1.3 值類型的繼承和接口 237

8.2 裝箱 238

8.3 枚舉 243

8.3.1 枚舉之間的類型兼容性 246

8.3.2 枚舉和字符串之間的轉(zhuǎn)換 246

8.3.3 枚舉作為標志使用 248

8.4 小結(jié) 251

第9章 良構(gòu)類型 253

9.1 重寫object的成員 253

9.1.1 重寫tostring() 253

9.1.2 重寫gethashcode() 254

9.1.3 重寫equals() 256

9.2 操作符重載 263

9.2.1 比較操作符 264

9.2.2 二元操作符 265

9.2.3 賦值與二元操作符的結(jié)合 266

9.2.4 條件邏輯操作符 266

9.2.5 一元操作符 267

9.2.6 轉(zhuǎn)換操作符 268

9.2.7 轉(zhuǎn)換操作符的規(guī)范 269

9.3 引用其他程序集 269

9.3.1 更改程序集目標 270

9.3.2 引用程序集 270

9.3.3 類型封裝 271

9.4 定義命名空間 272

9.5 xml注釋 275

9.5.1 將xml注釋與代碼構(gòu)造關聯(lián)到一起 275

9.5.2 生成xml文檔文件 277

9.6 垃圾回收 278

9.7 資源清理 280

9.7.1 終結(jié)器 280

9.7.2 使用using語句進行確定性終結(jié) 282

9.7.3 垃圾回收、終結(jié)和idisposable 284

9.8 推遲初始化 286

9.9 小結(jié) 288

第10章 異常處理 289

10.1 多異常類型 289

10.2 捕捉異常 291

10.3 常規(guī)catch塊 293

10.4 異常處理的規(guī)范 295

10.5 定義自定義異!297

10.6 封裝異常并重新引發(fā) 299

10.7 小結(jié) 302

第11章 泛型 303

11.1 如果c# 沒有泛型 303

11.2 泛型類型概述 307

11.2.1 泛型類的使用 308

11.2.2 簡單泛型類的定義 309

11.2.3 泛型的優(yōu)點 310

11.2.4 類型參數(shù)命名規(guī)范 310

11.2.5 泛型接口和結(jié)構(gòu) 311

11.2.6 構(gòu)造器和終結(jié)器的定義 313

11.2.7 默認值的指定 313

11.2.8 多個類型參數(shù) 314

11.2.9 元數(shù) 315

11.2.10 嵌套泛型類型 316

11.3 約束 317

11.3.1 接口約束 319

11.3.2 類類型約束 320

11.3.3 struct class約束 321

11.3.4 多個約束 321

11.3.5 構(gòu)造器約束 322

11.3.6 約束繼承 323

11.4 泛型方法 327

11.4.1 泛型方法類型推斷 328

11.4.2 約束的指定 328

11.5 協(xié)變性和逆變性 330

11.5.1 在c# 4.0中使用out類型參數(shù)修飾符允許協(xié)變性 331

11.5.2 在c# 4.0中使用in類型參數(shù)修飾符允許逆變性 332

11.5.3 數(shù)組對不安全協(xié)變性的支持 335

11.6 泛型的內(nèi)部機制 335

11.6.1 基于值類型的泛型的實例化 336

11.6.2 基于引用類型的泛型的實例化 337

11.7 小結(jié) 338

第12章 委托和lambda表達式 339

12.1 委托概述 340

12.1.1 背景 340

12.1.2 委托數(shù)據(jù)類型 341

12.1.3 委托類型的聲明 342

12.1.4 委托的實例化 343

12.2 lambda表達式 347

12.2.1 語句lambda 347

12.2.2 表達式lambda 349

12.3 匿名方法 351

12.4 通用的委托:system.func和system.action 352

12.4.1 委托沒有結(jié)構(gòu)相等性 353

12.4.2 外部變量 355

12.4.3 表達式樹 359

12.5 小結(jié) 364

第13章 事件 365

13.1 使用多播委托來編碼observer模式 366

13.1.1 定義訂閱者方法 366

13.1.2 定義發(fā)布者 367

13.1.3 連接發(fā)布者和訂閱者 368

13.1.4 調(diào)用委托 368

13.1.5 檢查null值 369

13.1.6 委托操作符 370

13.1.7 順序調(diào)用 371

13.1.8 錯誤處理 374

13.1.9 方法返回值和傳引用 376

13.2 事件 376

13.2.1 事件的作用 376

13.2.2 事件的聲明 378

13.2.3 編碼規(guī)范 379

13.2.4 泛型和委托 380

13.2.5 自定義事件的實現(xiàn) 383

13.3 小結(jié) 384

第14章 支持標準查詢操作符的集合接口 385

14.1 匿名類型和隱式類型的局部變量聲明 386

14.1.1 匿名類型 386

14.1.2 隱式類型的局部變量 387

14.1.3 匿名類型和隱式局部變量的更多注意事項 388

14.2 集合初始化器 390

14.3 是什么使類成為集合:ienumerable(t) 392

14.3.1 foreach和數(shù)組 392

14.3.2 foreach和ienumerable(t) 393

14.3.3 foreach循環(huán)內(nèi)不要修改集合 396

14.4 標準查詢操作符 397

14.4.1 使用where()來篩選 400

14.4.2 使用select()來投射 401

14.4.3 使用count()對元素進行計數(shù) 403

14.4.4 推遲執(zhí)行 404

14.4.5 使用orderby()和thenby()來排序 408

14.4.6 使用join()來執(zhí)行內(nèi)部聯(lián)接 412

14.4.7 使用groupby分組結(jié)果 415

14.4.8 使用groupjoin()實現(xiàn)一對多關系 416

14.4.9 調(diào)用selectmany() 418

14.4.10 更多標準查詢操作符 420

14.5 小結(jié) 423

第15章 使用查詢表達式的linq 425

15.1 查詢表達式概述 426

15.1.1 投射 427

15.1.2 篩選 432

15.1.3 排序 433

15.1.4 let子句 434

15.1.5 分組 435

15.1.6 使用into進行查詢延續(xù) 437

15.1.7 用多個from子句“平整”序列的序列 438

15.2 查詢表達式作為方法調(diào)用 439

15.3 小結(jié) 440

第16章 構(gòu)建自定義集合 441

16.1 更多集合接口 442

16.1.1 ilist(t)與idictionary(tkey,tvalue) 442

16.1.2 icollection(t) 443

16.2 主要集合類 443

16.2.1 列表集合:list(t) 443

16.2.2 全序 446

16.2.3 搜索list(t) 447

16.2.4 字典集合:dictionary(tkey,tvalue) 449

16.2.5 已排序集合:sorteddictionary(tkey,tvalue)和sortedlist(t) 453

16.2.6 棧集合:stack(t) 454

16.2.7 隊列集合:queue(t) 455

16.2.8 鏈表:linkedlist(t) 456

16.3 提供索引器 456

16.4 返回null或者空集合 459

16.5 迭代器 459

16.5.1 迭代器的定義 460

16.5.2 迭代器語法 460

16.5.3 從迭代器生成值 461

16.5.4 迭代器和狀態(tài) 463

16.5.5 更多的迭代器例子 464

16.5.6 將yield return語句放到循環(huán)中 465

16.5.7 取消更多的迭代:yield break 467

16.5.8 在單個類中創(chuàng)建多個迭代器 469

16.5.9 yield語句的要求 470

16.6 小結(jié) 470

第17章 反射、特性和動態(tài)編程 471

17.1 反射 471

17.1.1 使用system.type訪問元數(shù)據(jù) 472

17.1.2 成員調(diào)用 473

17.1.3 泛型類型上的反射 478

17.2 特性 479

17.2.1 自定義特性 482

17.2.2 查找特性 483

17.2.3 使用構(gòu)造器來初始化特性 484

17.2.4 system.attributeusage-attribute 488

17.2.5 命名參數(shù) 488

17.3 使用動態(tài)對象進行編程 498

17.3.1 使用dynamic調(diào)用反射 499

17.3.2 dynamic的原則和行為 500

17.3.3 為什么需要動態(tài)綁定 501

17.3.4 靜態(tài)編譯與動態(tài)編程的比較 502

17.3.5 實現(xiàn)自定義動態(tài)對象 503

17.4 小結(jié) 505

第18章 多線程處理 507

18.1 多線程基礎 509

18.2 使用system.threading 512

18.2.1 使用system.threading.thread進行異步操作 512

18.2.2 線程管理 514

18.2.3 在生產(chǎn)代碼中不要讓線程進入睡眠 514

18.2.4 在生產(chǎn)代碼中不要中止線程 515

18.2.5 線程池處理 516

18.3 異步任務 517

18.3.1 從thread到task 518

18.3.2 理解異步任務 518

18.3.3 任務延續(xù) 521

18.3.4 用aggregateexception處理task上的未處理異!525

18.4 取消任務 530

18.4.1 task.run()是task.factory.startnew()的簡化形式 532

18.4.2 長時間運行的任務 532

18.4.3 對任務進行資源清理 533

18.5 c# 5.0基于任務的異步模式 533

18.5.1 以同步方式調(diào)用高延遲操作 534

18.5.2 使用tpl異步調(diào)用高延遲操作 535

18.5.3 通過async和await實現(xiàn)基于任務的異步模式 538

18.5.4 異步lambda 541

18.5.5 任務調(diào)度器和同步上下文 546

18.5.6 async await和windows ui 547

18.5.7 await操作符 548

18.6 并行迭代 549

18.7 并行執(zhí)行l(wèi)inq查詢 556

18.8 小結(jié) 560

第19章 線程同步 561

19.1 為什么要同步 562

19.1.1 使用monitor來同步 565

19.1.2 使用lock關鍵字 567

19.1.3 lock對象的選擇 568

19.1.4 為什么要避免鎖定this、typeof(type)和string 569

19.1.5 將字段聲明為volatile 570

19.1.6 使用system.threading.interlocked類 570

19.1.7 多個線程時的事件通知 571

19.1.8 同步設計最佳實踐 572

19.1.9 更多的同步類型 573

19.1.10 線程本地存儲 580

19.2 計時器 583

19.3 小結(jié) 584

第20章 平臺互操作性和不安全的代碼 585

20.1 在c#中使用winrt庫 586

20.1.1 具有自定義add remove處理程序的winrt事件 586

20.1.2 自動變換的接口 587

20.1.3 基于任務的異步 587

20.2 平臺調(diào)用 588

20.2.1 外部函數(shù)的聲明 588

20.2.2 參數(shù)的數(shù)據(jù)類型 588

20.2.3 使用ref而不是指針 590

20.2.4 為順序布局使用structlayoutattribute 590

20.2.5 錯誤處理 591

20.2.6 使用safehandle 593

20.2.7 外部函數(shù)的調(diào)用 595

20.2.8 用包裝器簡化api調(diào)用 597

20.2.9 函數(shù)指針映射到委托 598

20.2.10 編碼規(guī)范 598

20.3 指針和地址 598

20.3.1 不安全的代碼 598

20.3.2 指針的聲明 599

20.3.3 指針的賦值 600

20.3.4 指針的解引用 602

20.3.5 訪問被引用物類型的成員 604

20.3.6 通過委托執(zhí)行不安全的代碼 604

20.4 小結(jié) 606

第21章 cli 607

21.1 cli的定義 607

21.2 cli實現(xiàn) 608

21.3 c#編譯成機器碼 609

21.4 運行時 611

21.4.1 垃圾回收 611

21.4.2 .net的垃圾回收 611

21.4.3 類型安全 612

21.4.4 代碼訪問安全性 612

21.4.5 平臺可移植性 612

21.4.6 性能 613

21.5 應用程序域 614

21.6 程序集、清單和模塊 614

21.7 公共中間語言 616

21.8 公共類型系統(tǒng) 616

21.9 公共語言規(guī)范 617

21.10 基類庫 617

21.11 元數(shù)據(jù) 617

21.12 小結(jié) 618

附錄a 下載和安裝c#編譯器與cli平臺 619

附錄b 井字棋源代碼清單 621

附錄c tpl和c# 5.0之前的多線程模式 627

附錄d c# 5.0 async await模式之前的計時器 649

 

 

媒體評論

  “Mark Michaelis的《C#本質(zhì)論》早已成為經(jīng)典,如今更與著名的C#博主Eric Lippert攜手,使之升華為無以倫比的大師級著作……他們幫助讀者認清楚問題并掌握解決方案。通過分別主攻C#的‘內(nèi)’和‘外’,本書的這個版本在完整性方面達到了前所未有的高度。沒有人能像這兩位大師一樣幫助你正確地理解C# 5.0。”

  ——Mads Torgersen,微軟公司C#項目經(jīng)理

  “讓Mark Michaelis成為你從新手到專業(yè)C#開發(fā)者的引路人。如果從來沒有用過C#,請仔細閱讀本書,它提供了這一語言的一份完整指南。即使你已經(jīng)熟悉C#,也能從中發(fā)現(xiàn)大量可以學習的東西……無論現(xiàn)在還是將來,本書都應該是你的案頭必備寶典。每個C#開發(fā)者都應該把它放在手邊。”

  ——Bill Wagner,SRT Solutions創(chuàng)始人,

  暢銷書Effective C#和More Effective C#的作者

  “無論是想進入C#開發(fā)領域,還是想進一步提高自己的C#開發(fā)水平,都必須挑選一本講C#的真正好書,F(xiàn)在,你手中拿的就是這樣一本好書。”

  ——Charlie Calvert,微軟Visual C#社區(qū)項目經(jīng)理

  “C#之所以能成為當今首屈一指的編程語言,甚至傲視同儕,.NET Framework功不可沒。本書清晰而準確地描述了語言和框架的重要主題,這使它成為學習C#語言的一個重要工具。本書同時也覆蓋了常規(guī)編程,也就是那些‘本質(zhì)’的東西。”

  ——Bob Powell,C#MVP,

  “任何人要想成為專業(yè)的C#程序員,本書都必不可少。無論C#專家還是新手,我給他們推薦的書單都非常短,但都少不了這本書。”

  ——Peter Ritchie,C# MVP,Peter Ritchie軟件咨詢公司總裁

 

本圖書信息來源:互動出版網(wǎng)

 

 

posted on


  本文關鍵詞:C#本質(zhì)論,由筆耕文化傳播整理發(fā)布。



本文編號:161913

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/mishujinen/161913.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶b50aa***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com