C#入门经典第8版PDF免费版高清版

编辑点评:C# 7.0 & Visual Studio 2017

全行业优秀畅销品种的一款.NET开发经典名著书籍,C#入门经典第8版PDF免费版由三位专家联袂撰写,浓墨重彩地描述使用C# 7和Visual Studio 2017编写程序的基础知识,是编程新手的终*指南,不要求读者具有任何编程经验。

C#入门经典第8版PDF免费版

特色亮点

C#语言应用领域极广,是编程语言中的翘楚。《C#入门经典》系列是屡获殊荣的C#名著和超级畅销书;新版的《C#入门经典(第8版)》由三位专家联袂撰写,浓墨重彩地描述使用C# 7和Visual Studio 2017编写程序的基础知识,是编程新手的终*指南,不要求读者具有任何编程经验。书中讲述变量、流程控制、面向对象编程、Web编程、Windows编程、数据库和XML等知识点。“试一试”部分以分步指南为特色,讲解细腻,助你编写有用代码,构建更智能、性能更高的应用程序。 

C#入门经典第8版图片预览

内容简介

主要内容 1讲解变量、表达式、流程控制、函数、调试和错误处理 2涵盖面向对象编程、类、类成员、Web编程、Windows编程和Windows窗体等主题 3阐述代码导航、IntelliSense、重构和代码修复等增强功能如何帮助你更快捷、更轻松地编写程序 4讲述如何尽早发现和修复bug,以免在后期耗费时间解决棘手问题 5探讨云、跨平台和数据访问编程 6wrox.com提供大量可下载的代码示例

目录大全

第 I 部分C# 语 言

第1章C#简介 3

1.1.NET Framework的含义 3

1.1.1.NET Framework的内容 4

1.1.2.NET Standard和.NET Core 4

1.1.3使用.NET Framework和.NET Core编写

应用程序 4

1.2C#的含义 7

1.2.1用C#能编写什么样的应用程序 7

1.2.2本书中的C# 8

1.3Visual Studio 2017 8

1.3.1Visual Studio 2017产品 8

1.3.2解决方案 9

1.4本章要点 9

第2章编写C#程序 11

2.1Visual Studio 2017开发环境 12

2.2控制台应用程序 15

2.2.1Solution Explorer窗口 17

2.2.2Properties窗口 18

2.2.3Error List窗口 18

2.3桌面应用程序 19

2.4本章要点 21

第3章变量和表达式 23

3.1C#的基本语法 23

3.2C#控制台应用程序的基本结构 25

3.3变量 26

3.3.1简单类型 26

3.3.2变量的命名 29

3.3.3字面值 30

3.4表达式 32

3.4.1数学运算符 32

3.4.2赋值运算符 35

3.4.3运算符的优先级 36

3.4.4名称空间 37

3.5习题 37

3.6本章要点 38

第4章流程控制 39

4.1布尔逻辑 39

4.1.1布尔按位运算符和赋值运算符 41

4.1.2运算符优先级的更新 42

4.2分支 43

4.2.1三元运算符 43

4.2.2if语句 43

4.2.3switch语句 46

4.3循环 48

4.3.1do循环 48

4.3.2while循环 50

4.3.3for循环 51

4.3.4循环的中断 52

4.3.5无限循环 52

4.4习题 53

4.5本章要点 53

第5章变量的更多内容 55

5.1类型转换 55

5.1.1隐式转换 56

5.1.2显式转换 57

5.1.3使用Convert命令进行显式转换 59

5.2复杂的变量类型 61

5.2.1枚举 61

5.2.2结构 64

5.2.3数组 66

5.3字符串的处理 73

5.4习题 77

5.5本章要点 77

第6章函数 79

6.1定义和使用函数 80

6.1.1返回值 81

6.1.2参数 82

6.2变量的作用域 88

6.2.1其他结构中变量的作用域 91

6.2.2参数和返回值与全局数据 92

6.2.3局部函数 92

6.3Main()函数 93

6.4结构函数 95

6.5函数的重载 95

6.6委托 97

6.7习题 99

6.8本章要点 99

第7章调试和错误处理 101

7.1Visual Studio中的调试 101

7.1.1非中断(正常)模式下的调试 102

7.1.2中断模式下的调试 108

7.2错误处理 113

7.2.1try...catch...finally 114

7.2.2throw表达式 119

7.2.3列出和配置异常 119

7.3习题 119

7.4本章要点 120

第8章面向对象编程简介 121

8.1面向对象编程的含义 121

8.1.1对象的含义 122

8.1.2一切皆对象 124

8.1.3对象的生命周期 124

8.1.4静态成员和实例类成员 125

8.2OOP技术 126

8.2.1接口 126

8.2.2继承 127

8.2.3多态性 129

8.2.4对象之间的关系 130

8.2.5运算符重载 131

8.2.6事件 131

8.2.7引用类型和值类型 131

8.3桌面应用程序中的OOP 132

8.4习题 135

8.5本章要点 135

第9章定义类 137

9.1C#中的类定义 137

9.2System.Object 141

9.3构造函数和析构函数 142

9.4Visual Studio中的OOP工具 145

9.4.1Class View窗口 145

9.4.2对象浏览器 146

9.4.3添加类 147

9.4.4类图 148

9.5类库项目 149

9.6接口和抽象类 152

9.7结构类型 154

9.8浅度和深度复制 155

9.9习题 156

9.10本章要点 156

第10章定义类成员 157

10.1成员定义 157

10.1.1定义字段 158

10.1.2定义方法 158

10.1.3定义属性 159

10.1.4元组析构 163

10.1.5重构成员 163

10.1.6自动属性 164

10.2类成员的其他主题 165

10.2.1隐藏基类方法 165

10.2.2调用重写或隐藏的基类方法 166

10.2.3使用嵌套的类型定义 167

10.3接口的实现 168

10.4部分类定义 170

10.5部分方法定义 171

10.6示例应用程序 172

10.6.1规划应用程序 172

10.6.2编写类库 172

10.6.3类库的客户应用程序 178

10.7Call Hierarchy窗口 179

10.8习题 179

10.9本章要点 180

第11章集合、比较和转换 181

11.1集合 181

11.1.1使用集合 182

11.1.2定义集合 186

11.1.3索引符 187

11.1.4给CardLib添加Cards集合 188

11.1.5键控集合和IDictionary 190

11.1.6迭代器 191

11.1.7迭代器和集合 194

11.1.8深度复制 194

11.1.9给CardLib添加深度复制 195

11.2比较 196

11.2.1类型比较 197

11.2.2使用is运算符模式表达式进行模式

匹配 200

11.2.3值比较 200

11.3转换 211

11.3.1重载转换运算符 211

11.3.2as运算符 212

11.4习题 213

11.5本章要点 213

第12章泛型 215

12.1泛型的含义 215

12.2使用泛型 216

12.2.1可空类型 216

12.2.2System.Collections.Generic名称空间 222

12.3定义泛型类型 229

12.3.1定义泛型类 229

12.3.2定义泛型接口 236

12.3.3定义泛型方法 237

12.3.4定义泛型委托 238

12.4变体 238

12.4.1协变 239

12.4.2抗变 239

12.5习题 240

12.6本章要点 240

第13章高级C#技术 243

13.1::运算符和全局名称空间限定符 244

13.2定制异常 245

13.3事件 246

13.3.1事件的含义 246

13.3.2处理事件 247

13.3.3定义事件 249

13.4扩展和使用CardLib 254

13.5特性 260

13.5.1读取特性 260

13.5.2创建特性 261

13.6初始化器 262

13.6.1对象初始化器 262

13.6.2集合初始化器 263

13.7类型推理 266

13.8匿名类型 267

13.9动态查找 270

13.10高级方法参数 273

13.10.1可选参数 273

13.10.2命名参数 274

13.11Lambda表达式 277

13.11.1复习匿名方法 277

13.11.2把Lambda表达式用于匿名方法 278

13.11.3Lambda表达式的参数 280

13.11.4Lambda表达式的语句体 281

13.11.5Lambda表达式用作委托和

表达式树 281

13.11.6Lambda表达式和集合 282

13.12习题 284

13.13本章要点 285

第 II 部分Windows编程

第14章基本桌面编程 289

14.1XAML 290

14.1.1关注点分离 290

14.1.2XAML基础知识 290

14.2动手实践 292

14.2.1WPF控件 293

14.2.2属性 294

14.2.3事件 296

14.3控件布局 300

14.3.1基本布局概念 300

14.3.2布局面板 301

14.4游戏客户端 308

14.4.1About窗口 308

14.4.2Options窗口 312

14.4.3数据绑定 318

14.4.4使用ListBox控件启动游戏 321

14.5习题 324

14.6本章要点 325

第15章高级桌面编程 327

15.1创建控件并设置样式 327

15.1.1样式 328

15.1.2模板 328

15.1.3触发器 329

15.1.4动画 330

15.2WPF用户控件 331

15.3主窗口 340

15.3.1菜单控件 340

15.3.2路由命令和菜单 341

15.4把所有内容结合起来 344

15.4.1重构域模型 344

15.4.2视图模型 349

15.4.3大功告成 354

15.5习题 360

15.6本章要点 361

第 III 部分云和跨平台编程

第16章基本的云编程 365

16.1云、云计算和云优化堆栈 366

16.2云模式和*佳实践 368

16.3使用Microsoft Azure C#库创建

存储容器 369

16.4创建使用存储容器的ASP.NET 4.7

网站 376

16.5习题 382

16.6本章要点 382

第17章高级云编程和部署 383

17.1创建ASP.NET Web API 383

17.2在Microsoft Azure上部署和

使用ASP.NET Web API 387

17.3缩放Microsoft Azure平台上的

ASP.NET Web API 392

17.4习题 395

17.5本章要点 395

第18章.NET Standard与.NET Core 397

18.1跨平台基础知识以及必知的

关键术语 398

18.2.NET Standard的含义和作用 399

18.3引用和目标框架 402

18.4.NET Core的含义 403

18.4.1跨平台 404

18.4.2开源 405

18.4.3针对云进行优化 405

18.4.4性能 406

18.4.5模块化设计 406

18.4.6独立的部署模型 408

18.5生成和打包.NET Standard库 409

18.6使用Visual Studio生成.NET Core

应用程序 413

18.7从.NET Framework移植到.NET Core 415

18.7.1识别第三方依赖 415

18.7.2理解哪些功能不可用 415

18.7.3升级当前的.NET Framework目标 416

18.7.4为程序选择目标平台 416

18.8本章要点 416

第19章ASP.NET与ASP.NET Core 417

19.1Web应用程序概述 418

19.2选择合适的ASP.NET 418

19.2.1ASP.NET Web Forms 419

19.2.2ASP.NET MVC 420

19.2.3ASP.NET Web API 422

19.2.4ASP.NET Core 422

19.2.5ASP.NET Web Site与ASP.NET Web 

Application Project类型的对比 423

19.3使用ASP.NET Web Forms 424

19.3.1服务器控件 425

19.3.2输入验证 425

19.3.3状态管理 426

19.3.4身份验证与授权 426

19.4创建ASP.NET Core Web应用程序 430

19.4.1IIS和Kestrel 431

19.4.2Razor语法 431

19.4.3输入验证 432

19.4.4状态管理 432

19.4.5身份验证与授权 433

19.4.6依赖注入 433

19.5本章要点 437

第 IV 部分数 据 访 问

第20章文件 441

20.1用于输入和输出的类 441

20.1.1File类和Directory类 442

20.1.2FileInfo类 443

20.1.3DirectoryInfo类 444

20.1.4路径名和相对路径 444

20.2流 445

20.2.1使用流的类 445

20.2.2FileStream对象 445

20.2.3StreamWriter对象 450

20.2.4StreamReader对象 452

20.2.5异步文件访问 454

20.2.6读写压缩文件 454

20.3监控文件系统 456

20.4习题 460

20.5本章要点 460

第21章XML和JSON 461

21.1XML基础 461

21.2JSON 基础 462

21.3XML模式 462

21.4XML文档对象模型 464

21.4.1XmlDocument类 464

21.4.2XmlElement类 465

21.4.3修改节点的值 468

21.5把XML转换为JSON 471

21.6用XPath搜索XML 473

21.7习题 475

21.8本章要点 476

第22章LINQ 477

22.1LINQ to XML 478

22.1.1LINQ to XML函数构造方式 478

22.1.2处理XML片段 480

22.2LINQ提供程序 482

22.3LINQ查询语法 482

22.3.1用var关键字声明结果变量 483

22.3.2指定数据源:from子句 484

22.3.3指定条件:where子句 484

22.3.4选择元素:select子句 484

22.3.5完成:使用foreach循环 484

22.3.6延迟执行的查询 484

22.4LINQ方法语法 485

22.4.1LINQ扩展方法 485

22.4.2查询语法和方法语法 485

22.4.3Lambda 表达式 485

22.5排序查询结果 487

22.6orderby子句 488

22.7查询大型数据集 488

22.8使用聚合运算符 490

22.9单值选择查询 492

22.10多级排序 494

22.11分组查询 495

22.12join查询 497

22.13习题 498

22.14本章要点 498

第23章数据库 499

23.1使用数据库 499

23.2安装SQL Server Express 500

23.3Entity Framework 500

23.4Code First 数据库 500

23.5数据库的位置 506

23.6导航数据库关系 507

23.7处理迁移 512

23.8在已有的数据库中创建和查询XML 513

23.9习题 517

23.10本章要点 517

第 V 部分其 他 技 术

第24章Windows Communication Foundation 521

24.1WCF的含义 522

24.2WCF概念 522

24.2.1WCF通信协议 522

24.2.2地址、端点和绑定 523

24.2.3协定 524

24.2.4消息模式 524

24.2.5行为 525

24.2.6驻留 525

24.3WCF编程 525

24.3.1WCF测试客户端程序 529

24.3.2定义WCF服务协定 531

24.3.3自驻留的WCF服务 536

24.4习题 540

24.5本章要点 541

第25章通用应用程序 543

25.1准备工作 543

25.2Windows通用应用程序 544

25.3应用程序概念和设计 545

25.3.1屏幕方向 545

25.3.2菜单和工具栏 545

25.3.3磁贴和徽章 545

25.3.4应用程序的生存期 546

25.3.5锁屏应用程序 546

25.4应用程序的开发 546

25.4.1自适应显示 546

25.4.2沙箱应用程序 552

25.4.3在页面之间导航 555

25.4.4CommandBar控件 556

25.4.5管理状态 558

25.5Windows Store应用程序的常见元素 559

25.6Windows Store 560

25.6.1打包应用程序 560

25.6.2创建包 561

25.7习题 561

25.8本章要点 561

附录A习题答案 563

关于作者

Benjamin Perkins(MBA、MCSD、ITIL)目前在微软(德国慕尼黑)工作,是一位资深的高级工程师。他在IT行业工作了二十多年。他11岁时就开始在Atari 1200XL台式计算机上用QBasic编写计算机程序。他喜爱诊断和排除技术问题,品味写出好程序的乐趣。高中毕业后,他加入美国军队。在成功服完兵役后,他进入得克萨斯州的得克萨斯A&M大学,在那里获得管理信息系统的工商管理学士学位。

他在IT行业的足迹遍及整个行业,包括程序员、系统架构师、技术支持工程师、团队领导和中层管理。在受雇于惠普时,他获得了诸多奖项、学位和证书。他对技术和客户服务富有激情,期待排除故障,编写出更多世界技术解决方案。

“我的方法是烂熟于心之后才编写代码,完整、正确地编写一次,这样就不需要再次考虑它,除非要改进它。”

Benjamin与妻子Andrea以及两个可爱的孩子Lea和Noa一起快乐地生活。

Jacob Vibe Hammer是丹麦Systematic公司的一名高级软件工程师,帮助医疗行业开发解决方案。自他刚能拼写单词“BASIC”之时,就开始了自己的编程生涯,BASIC也是他使用的第*门编程语言。从那以后,他用过多种编程语言和解决方案架构。但进入21世纪后,他主要在.NET平台上工作。如今,他主要编写C#和WPF程序,以及试用NoSQL数据库。Jacob是丹麦人,与妻儿一起居住在丹麦的奥胡斯市。

Jon D. Reid担任IFS Field Service Management(www.IFSWORLD.com)的产品解决方案经理。他已与他人合著了多本图书,包括Beginning Visual C# 2015、Fast Track C#和Pro Visual Studio .NET等。

阅读剩余
THE END