C#高级编程(第10版)图书
人气:12

C#高级编程(第10版)

提升C#和.NET技能的必备参考资源 Visual Studio 2015、ASP.NET Core 1.0和Universal Windows Platform的推出,为开发人员提供了使用C#创建应用程序的新方式。作为经典C#畅销书 ,本书涵盖了充分利用升级功能,积极...
  • 所属分类:图书 >计算机/网络>计算机理论  
  • 作者:[美] [Christian] [Nagel] [李铭]
  • 产品参数:
  • 丛书名:--
  • 国际刊号:9787302461968
  • 出版社:清华大学出版社
  • 出版时间:2017-04
  • 印刷时间:2017-04-01
  • 版次:1
  • 开本:16开
  • 页数:1
  • 纸张:胶版纸
  • 包装:平装-胶订
  • 套装:

内容简介

提升C#和.NET技能的必备参考资源 Visual Studio 2015、ASP.NET Core 1.0和Universal Windows Platform的推出,为开发人员提供了使用C#创建应用程序的新方式。作为经典C#畅销书 ,本书涵盖了充分利用升级功能,积极简化工作流程所需的全部信息。本书循序渐进地讲解了Visual Studio 2015、.NET Core 1.0、ASP.NET MVC、Universal Windows Platform、WPF的变化。每一章都提供了清晰的解释、下载的代码,并从专家的角度提供了有价值的视野。有本书在手,读者可以快速获得的特性和功能。主要内容 通过.NET Core 和C# 6的增强功能,重新塑造了.NET平台,包括新增的.NET编译器平台 展示了如何使用新的Visual Studio工具和用于ASP.NET Core 1.0、ASP.NET MVC、Web API、WPF和Universal Windows Platform的模板 介绍允许应用程序在Windows、Linux和OS X上运行的.NET Core框架,还囊括了任务和并行编程,访问文件系统,以及网络堆栈 演示了如何使用ASP.NET MVC 6和Web API创建Web应用程序,以及利用SignalR和WebHooks的推送通知 介绍专业开发功能,例如单元测试,通过MVVM模式在WPF和Universal Windows Platform之间共享代码

编辑推荐

对于开发人员,把C#语言和.NET描述为重要的新技术一点都不夸张。.NET提供了一种环境。在这种环境中,可以开发在Windows上运行的几乎所有应用程序。在Windows上运行的是.NET Framework以前的版本,新版本.NET Core 1.0不仅在Windows上运行,还在Linux和Mac系统上运行。C#是专门用于.NET的编程语言。

作者简介

Christian Nagel是微软开发技术代言人(Microsoft Regional Director)、Visual Studio和开发技术方向的微软MVP、软件架构师、博学开发人员(2000年就开始用.NET技术建立解决方案) 。他编著过多本.NET图书,经常在TechEd和TechDays等国际会议上发言,并支持.NET用户组。Christian是微软认证培训师(MCT),也是Universal Windows apps和ASP.NET方向的微软认证开发专家(MCPD)。

目录

第Ⅰ部分 C# 语 言

第1章 .NET应用程序体系结构 2

1.1 选择技术 2

1.2 回顾.NET历史 3

1.2.1C# 1.0 ——一种新语言 3

1.2.2带有泛型的C# 2和.NET 2 5

1.2.3.NET 3.0—— Windows

Presentation Foundation 5

1.2.4C# 3和.NET 3.5—— LINQ 5

1.2.5C# 4和.NET 4.0—— dynamic

和TPL 6

1.2.6C# 5和异步编程 6

1.2.7C# 6和.NET Core 7

1.2.8选择技术,继续前进 8

1.3.NET 2015 8

1.3.1.NET Framework 4.6 9

1.3.2.NET Core 1.0 10

1.3.3程序集 11

1.3.4NuGet 包 12

1.3.5公共语言运行库 13

1.3.6.NET Native 14

1.3.7Windows 运行库 14

1.4Hello, World 15

1.5 用.NET 4.6编译 16

1.6 用.NET CoreCLI编译 17

1.6.1设置环境 18

1.6.2构建应用程序 18

1.6.3打包和应用程序 21

1.7 应用程序类型和技术 22

1.7.1数据访问 22

1.7.2Windows桌面应用程序 23

1.7.3UWP 24

1.7.4SOAP服务和WCF 24

1.7.5Web服务和ASP.NET Web

API 24

1.7.6WebHooks和SignalR 25

1.7.7Windows服务 25

1.7.8Web应用程序 25

1.7.9Microsoft Azure 26

1.8 开发工具 27

1.8.1Visual Studio Community 27

1.8.2Visual Studio Professional with

MSDN 27

1.8.3Visual Studio Enterprise with

MSDN 27

1.8.4Visual Studio Code 28

1.9 小结 28

第2章 核心C# 29

2.1C#基础 30

2.2 用VisualStudio创建Hello,

World! 30

2.2.1创建解决方案 30

2.2.2创建新项目 31

2.2.3编译和运行程序 33

2.2.4代码的详细介绍 35

2.3 变量 36

2.3.1初始化变量 37

2.3.2类型推断 38

2.3.3变量的作用域 39

2.3.4常量 41

2.4 预定义数据类型 41

2.4.1值类型和引用类型 42

2.4.2.NET类型 43

2.4.3预定义的值类型 43

2.4.4预定义的引用类型 46

2.5 程序流控制 48

2.5.1条件语句 48

2.5.2循环 51

2.5.3跳转语句 55

2.6 枚举 55

2.7 名称空间 57

2.7.1using语句 58

2.7.2名称空间的别名 59

2.8Main()方法 60

2.9 使用注释 61

2.9.1源文件中的内部注释 61

2.9.2XML文档 62

2.10C#预处理器指令 63

2.10.1#define和#undef 63

2.10.2#if、#elif、#else和#endif 64

2.10.3#warning和 # error 65

2.10.4#region和#endregion 65

2.10.5#line 65

2.10.6#pragma 65

2.11C#编程准则 66

2.11.1关于标识符的规则 66

2.11.2用法约定 67

2.12小结 70

第3章 对象和类型 71

3.1 创建及使用类 72

3.2 类和结构 72

3.3 类 73

3.3.1字段 73

3.3.2属性 74

3.3.3方法 76

3.3.4构造函数 81

3.3.5只读成员 85

3.3.6只读字段 85

3.4 匿名类型 88

3.5 结构 89

3.5.1结构是值类型 90

3.5.2结构和继承 91

3.5.3结构的构造函数 91

3.6 按值和按引用传递参数 91

3.6.1ref参数 92

3.6.2out参数 93

3.7 可空类型 94

3.8 枚举 95

3.9 部分类 97

3.10扩展方法 99

3.11Object类 100

3.12小结 101

第4章 继承 102

4.1 继承 102

4.2 继承的类型 102

4.2.1多重继承 103

4.2.2结构和类 103

4.3 实现继承 103

4.3.1虚方法 104

4.3.2多态性 106

4.3.3隐藏方法 107

4.3.4调用方法的基类版本 108

4.3.5抽象类和抽象方法 109

4.3.6密封类和密封方法 110

4.3.7派生类的构造函数 110

4.4 修饰符 112

4.4.1访问修饰符 113

4.4.2其他修饰符 113

4.5 接口 114

4.5.1定义和实现接口 115

4.5.2派生的接口 118

4.6is和as运算符 120

4.7 小结 121

第5章 托管和非托管的资源 122

5.1 资源 122

5.2 后台内存管理 123

5.2.1值数据类型 123

5.2.2引用数据类型 125

5.2.3垃圾回收 127

5.3 强引用和弱引用 129

5.4 处理非托管的资源 130

5.4.1析构函数或终结器 130

5.4.2IDisposable接口 131

5.4.3using语句 132

5.4.4实现IDisposable接口和

析构函数 133

5.4.5IDisposable和终结器的

规则 134

5.5 不安全的代码 135

5.5.1用指针直接访问内存 135

5.5.2指针示例:

PointerPlayground 143

5.5.3使用指针优化性能 147

5.6 平台调用 150

5.7 小结 154

第6章 泛型 155

6.1 泛型概述 155

6.1.1性能 156

6.1.2类型安全 157

6.1.3二进制代码的重用 157

6.1.4代码的扩展 158

6.1.5命名约定 158

6.2 创建泛型类 158

6.3 泛型类的功能 162

6.3.1默认值 163

6.3.2约束 163

6.3.3继承 166

6.3.4静态成员 167

6.4 泛型接口 167

6.4.1协变和抗变 168

6.4.2泛型接口的协变 169

6.4.3泛型接口的抗变 170

6.5 泛型结构 171

6.6 泛型方法 173

6.6.1泛型方法示例 174

6.6.2带约束的泛型方法 175

6.6.3带委托的泛型方法 176

6.6.4泛型方法规范 176

6.7 小结 178

第7章 数组和元组 179

7.1 同一类型和不同类型的多个

对象 179

7.2 简单数组 180

7.2.1数组的声明 180

7.2.2数组的初始化 180

7.2.3访问数组元素 181

7.2.4使用引用类型 182

7.3 多维数组 183

7.4 锯齿数组 184

7.5Array类 185

7.5.1创建数组 185

7.5.2复制数组 186

7.5.3排序 187

7.6 数组作为参数 190

7.6.1数组协变 190

7.6.2ArraySegment 191

7.7 枚举 191

7.7.1IEnumerator接口 192

7.7.2foreach语句 192

7.7.3yield语句 193

7.8 元组 197

7.9 结构比较 198

7.10小结 201

第8章 运算符和类型强制转换202

8.1 运算符和类型转换 202

8.2 运算符 203

8.2.1运算符的简化操作 204

8.2.2运算符的优先级和关联性 212

8.3 类型的安全性 213

8.3.1类型转换 213

8.3.2装箱和拆箱 217

8.4 比较对象的相等性 218

8.4.1比较引用类型的相等性 218

8.4.2比较值类型的相等性 219

8.5 运算符重载 219

8.5.1运算符的工作方式 220

8.5.2运算符重载的示例:Vector

结构 221

8.5.3比较运算符的重载 225

8.5.4可以重载的运算符 227

8.6 实现自定义的索引运算符228

8.7 实现用户定义的类型强制

转换 230

8.7.1实现用户定义的类型强制

转换 231

8.7.2多重类型强制转换 237

8.8 小结 240

第9章 委托、lambda表达式和

事件 241

9.1 引用方法 241

9.2 委托 242

9.2.1声明委托 242

9.2.2使用委托 243

9.2.3简单的委托示例 246

9.2.4Action和Func

委托 248

9.2.5BubbleSorter示例 248

9.2.6多播委托 251

9.2.7匿名方法 254

9.3lambda表达式 255

9.3.1参数 256

9.3.2多行代码 256

9.3.3闭包 257

9.4 事件 258

9.4.1事件程序 258

9.4.2事件侦听器 260

9.4.3弱事件 261

9.5 小结 263

第10章 字符串和正则表达式 264

10.1System.String类 265

10.1.1构建字符串 266

10.1.2StringBuilder成员 269

10.2字符串格式 270

10.2.1字符串插值 270

10.2.2日期时间和数字的格式 272

10.2.3自定义字符串格式 274

10.3正则表达式 275

10.3.1正则表达式概述 275

10.3.2RegularExpressionsPlayaround

示例 276

10.3.3显示结果 279

10.3.4匹配、组和捕获 280

10.4小结 283

第11章 集合 284

11.1概述 284

11.2集合接口和类型 285

11.3列表 285

11.3.1创建列表 287

11.3.2只读集合 294

11.4队列 294

11.5栈 298

11.6链表 300

11.7有序列表 305

11.8字典 306

11.8.1字典初始化器 307

11.8.2键的类型 307

11.8.3字典示例 308

11.8.4Lookup类 312

11.8.5有序字典 313

11.9集 313

11.10性能 315

11.11小结 316

第12章 特殊的集合 317

12.1概述 317

12.2处理位 317

12.2.1BitArray类 318

12.2.2BitVector32结构 320

12.3可观察的集合 323

12.4不变的集合 324

12.4.1使用构建器和不变的

集合 327

12.4.2不变集合类型和接口 327

12.4.3使用LINQ和不变的

数组 328

12.5并发集合 328

12.5.1创建管道 329

12.5.2使用BlockingCollection 332

12.5.3使用Concurrent-

Dictionary 333

12.5.4完成管道 334

12.6小结 335

第13章 LINQ 337

13.1LINQ概述 337

13.1.1列表和实体 338

13.1.2LINQ查询 341

13.1.3扩展方法 342

13.1.4推迟查询的执行 343

13.2标准的查询操作符 345

13.2.1筛选 347

13.2.2用索引筛选 347

13.2.3类型筛选 348

13.2.4复合的from子句 348

13.2.5排序 349

13.2.6分组 350

13.2.7LINQ 查询中的变量 351

13.2.8对嵌套的对象分组 352

13.2.9内连接 353

13.2.10左外连接 355

13.2.11组连接 355

13.2.12集合操作 358

13.2.13合并 360

13.2.14分区 360

13.2.15聚合操作符 362

13.2.16转换操作符 363

13.2.17生成操作符 365

13.3并行LINQ 365

13.3.1并行查询 365

13.3.2分区器 366

13.3.3取消 367

13.4表达式树 367

13.5LINQ提供程序 370

13.6小结 371

第14章 错误和异常 372

14.1简介 372

14.2异常类 373

14.3捕获异常 374

14.3.1实现多个catch块 377

14.3.2在其他代码中捕获异常 380

14.3.3System.Exception属性 380

14.3.4异常过滤器 381

14.3.5重新抛出异常 382

14.3.6没有处理异常时发生的

情况 386

14.4用户定义的异常类 386

14.4.1捕获用户定义的异常 387

14.4.2抛出用户定义的异常 389

14.4.3定义用户定义的异常类 392

14.5调用者信息 394

14.6小结 396

第15章 异步编程 397

15.1异步编程的重要性 397

15.2异步模式 398

15.2.1同步调用 405

15.2.2异步模式 406

15.2.3基于事件的异步模式 407

15.2.4基于任务的异步模式 408

15.3异步编程的基础 410

15.3.1创建任务 410

15.3.2调用异步方法 411

15.3.3延续任务 411

15.3.4同步上下文 412

15.3.5使用多个异步方法 412

15.3.6转换异步模式 413

15.4错误处理 414

15.4.1异步方法的异常处理 415

15.4.2多个异步方法的异常

处理 415

15.4.3使用AggregateException

信息 416

15.5取消 417

15.5.1开始取消任务 417

15.5.2使用框架特性取消任务 417

15.5.3取消自定义任务 418

15.6小结 419

第16章 反射、元数据和动态编程420

16.1在运行期间检查代码和

动态编程 420

16.2自定义特性 421

16.2.1编写自定义特性 422

16.2.2自定义特性示例:

WhatsNewAttributes 425

16.3反射 428

16.3.1System.Type类 428

16.3.2TypeView示例 430

16.3.3Assembly类 433

16.3.4完成WhatsNewAttributes

示例 434

16.4为反射使用动态语言扩展 438

16.4.1创建Calculator库 438

16.4.2动态实例化类型 440

16.4.3用反射API调用成员 442

16.4.4使用动态类型调用成员 442

16.5dynamic类型 443

16.6DLR 448

16.7包含DLR ScriptRuntime 449

16.8DynamicObject和

ExpandoObject 451

16.8.1DynamicObject 451

16.8.2ExpandoObject 453

16.9小结 455

第Ⅱ部分 .NET Core与Windows

Runtime

第17章 Visual Studio 2015 458

17.1使用Visual Studio 2015 458

17.1.1Visual Studio的版本 461

17.1.2Visual Studio设置 461

17.2创建项目 462

17.2.1面向多个版本的.NET

Framework 463

17.2.2选择项目类型 464

17.3浏览并编写项目 469

17.3.1构建环境:CLI和

MSBuild 469

17.3.2Solution Explorer 470

17.3.3使用代码编辑器 477

17.3.4学习和理解其他窗口 481

17.3.5排列窗口 485

17.4构建项目 485

17.4.1构建、编译和生成代码 486

17.4.2调试版本和版本 486

17.4.3选择配置 488

17.4.4编辑配置 488

17.5调试代码 490

17.5.1设置断点 490

17.5.2使用数据提示和调试器可

视化工具 491

17.5.3Live Visual Tree 492

17.5.4监视和修改变量 493

17.5.5异常 494

17.5.6多线程 495

17.6重构工具 495

17.7体系结构工具 497

17.7.1代码地图 498

17.7.2层关系图 499

17.8分析应用程序 500

17.8.1诊断工具 500

17.8.2Concurrency Visualizer 504

17.8.3代码分析器 505

17.8.4Code Metrics 506

17.9小结 506

第18章 .NET编译器平台 507

18.1简介 507

18.2编译器管道 509

18.3语法分析 509

18.3.1使用查询节点 515

18.3.2遍历节点 517

18.4

免责声明

更多相关图书
在线咨询