新書推薦:
《
慢慢变富66招
》
售價:HK$
53.8
《
战国竹书复原综论
》
售價:HK$
98.6
《
走出内心的深渊:快节奏人群心理疾病与健康指南(原书第3版)
》
售價:HK$
77.3
《
趋势跟踪: 汤姆·巴索的交易谋略
》
售價:HK$
77.3
《
滚滚红尘(《滚滚红尘》电影原著)
》
售價:HK$
54.9
《
罗马之变(法语直译,再现罗马共和国走向罗马帝国的辉煌历史)
》
售價:HK$
109.8
《
自然之争:1600年以来苏格兰和英格兰北部地区的环境史(新史学译丛)
》
售價:HK$
106.4
《
硝烟下的博弈:工业革命与中西方战争
》
售價:HK$
87.4
編輯推薦:
C#语言应用领域极广,是编程语言中的翘楚。《C#入门经典》系列是屡获殊荣的C#名著和超级畅销书;新版的《C#入门经典第8版》由三位专家联袂撰写,浓墨重彩地描述使用C# 7和Visual Studio 2017编写程序的基础知识,是编程新手的终极指南,不要求读者具有任何编程经验。书中讲述变量、流程控制、面向对象编程、Web编程、Windows编程、数据库和XML等知识点。试一试部分以分步指南为特色,讲解细腻,助你编写有用代码,构建更智能、性能更高的应用程序。
內容簡介:
主要内容 1讲解变量、表达式、流程控制、函数、调试和错误处理 2涵盖面向对象编程、类、类成员、Web编程、Windows编程和Windows窗体等主题 3阐述代码导航、IntelliSense、重构和代码修复等增强功能如何帮助你更快捷、更轻松地编写程序 4讲述如何尽早发现和修复bug,以免在后期耗费时间解决棘手问题 5探讨云、跨平台和数据访问编程 6wrox.com提供大量可下载的代码示例
關於作者:
Benjamin PerkinsMBA、MCSD、ITIL目前在微软德国慕尼黑工作,是一位资深的高级工程师。他在IT行业工作了二十多年。他11岁时就开始在Atari 1200XL台式计算机上用QBasic编写计算机程序。他喜爱诊断和排除技术问题,品味写出好程序的乐趣。高中毕业后,他加入美国军队。在成功服完兵役后,他进入得克萨斯州的得克萨斯A M大学,在那里获得管理信息系统的工商管理学士学位。
他在IT行业的足迹遍及整个行业,包括程序员、系统架构师、技术支持工程师、团队领导和中层管理。在受雇于惠普时,他获得了诸多奖项、学位和证书。他对技术和客户服务富有激情,期待排除故障,编写出更多世界级技术解决方案。
我的方法是烂熟于心之后才编写代码,完整、正确地编写一次,这样就不需要再次考虑它,除非要改进它。
Benjamin与妻子Andrea以及两个可爱的孩子Lea和Noa一起快乐地生活。
Benjamin PerkinsMBA、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 Managementwww.IFSWORLD.com的产品解决方案经理。他已与他人合著了多本图书,包括Beginning Visual C# 2015、Fast Track C#和Pro Visual Studio .NET等。
目錄 :
目 录
第 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.2 C#的含义 7
1.2.1 用C#能编写什么样的应用程序 7
1.2.2 本书中的C# 8
1.3 Visual Studio 2017 8
1.3.1 Visual Studio 2017产品 8
1.3.2 解决方案 9
1.4 本章要点 9
第2章 编写C#程序 11
2.1 Visual Studio 2017开发环境 12
2.2 控制台应用程序 15
2.2.1 Solution Explorer窗口 17
2.2.2 Properties窗口 18
2.2.3 Error List窗口 18
2.3 桌面应用程序 19
2.4 本章要点 21
第3章 变量和表达式 23
3.1 C#的基本语法 23
3.2 C#控制台应用程序的基本结构 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.2 if语句 43
4.2.3 switch语句 46
4.3 循环 48
4.3.1 do循环 48
4.3.2 while循环 50
4.3.3 for循环 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.3 Main函数 93
6.4 结构函数 95
6.5 函数的重载 95
6.6 委托 97
6.7 习题 99
6.8 本章要点 99
第7章 调试和错误处理 101
7.1 Visual Studio中的调试 101
7.1.1 非中断正常模式下的调试 102
7.1.2 中断模式下的调试 108
7.2 错误处理 113
7.2.1 try...catch...finally 114
7.2.2 throw表达式 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.2 OOP技术 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.1 C#中的类定义 137
9.2 System.Object 141
9.3 构造函数和析构函数 142
9.4 Visual Studio中的OOP工具 145
9.4.1 Class 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.7 Call 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.2 as运算符 212
11.4 习题 213
11.5 本章要点 213
第12章 泛型 215
12.1 泛型的含义 215
12.2 使用泛型 216
12.2.1 可空类型 216
12.2.2 System.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.11 Lambda表达式 277
13.11.1 复习匿名方法 277
13.11.2 把Lambda表达式用于匿名方法 278
13.11.3 Lambda表达式的参数 280
13.11.4 Lambda表达式的语句体 281
13.11.5 Lambda表达式用作委托和
表达式树 281
13.11.6 Lambda表达式和集合 282
13.12 习题 284
13.13 本章要点 285
第 II 部分 Windows编程
第14章 基本桌面编程 289
14.1 XAML 290
14.1.1 关注点分离 290
14.1.2 XAML基础知识 290
14.2 动手实践 292
14.2.1 WPF控件 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.1 About窗口 308
14.4.2 Options窗口 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.2 WPF用户控件 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.1 Web应用程序概述 418
19.2 选择合适的ASP.NET 418
19.2.1 ASP.NET Web Forms 419
19.2.2 ASP.NET MVC 420
19.2.3 ASP.NET Web API 422
19.2.4 ASP.NET Core 422
19.2.5 ASP.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.1 IIS和Kestrel 431
19.4.2 Razor语法 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.1 File类和Directory类 442
20.1.2 FileInfo类 443
20.1.3 DirectoryInfo类 444
20.1.4 路径名和相对路径 444
20.2 流 445
20.2.1 使用流的类 445
20.2.2 FileStream对象 445
20.2.3 StreamWriter对象 450
20.2.4 StreamReader对象 452
20.2.5 异步文件访问 454
20.2.6 读写压缩文件 454
20.3 监控文件系统 456
20.4 习题 460
20.5 本章要点 460
第21章 XML和JSON 461
21.1 XML基础 461
21.2 JSON 基础 462
21.3 XML模式 462
21.4 XML文档对象模型 464
21.4.1 XmlDocument类 464
21.4.2 XmlElement类 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.1 LINQ to XML 478
22.1.1 LINQ to XML函数构造方式 478
22.1.2 处理XML片段 480
22.2 LINQ提供程序 482
22.3 LINQ查询语法 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.4 LINQ方法语法 485
22.4.1 LINQ扩展方法 485
22.4.2 查询语法和方法语法 485
22.4.3 Lambda 表达式 485
22.5 排序查询结果 487
22.6 orderby子句 488
22.7 查询大型数据集 488
22.8 使用聚合运算符 490
22.9 单值选择查询 492
22.10 多级排序 494
22.11 分组查询 495
22.12 join查询 497
22.13 习题 498
22.14 本章要点 498
第23章 数据库 499
23.1 使用数据库 499
23.2 安装SQL Server Express 500
23.3 Entity Framework 500
23.4 Code 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.1 WCF的含义 522
24.2 WCF概念 522
24.2.1 WCF通信协议 522
24.2.2 地址、端点和绑定 523
24.2.3 协定 524
24.2.4 消息模式 524
24.2.5 行为 525
24.2.6 驻留 525
24.3 WCF编程 525
24.3.1 WCF测试客户端程序 529
24.3.2 定义WCF服务协定 531
24.3.3 自驻留的WCF服务 536
24.4 习题 540
24.5 本章要点 541
第25章 通用应用程序 543
25.1 准备工作 543
25.2 Windows通用应用程序 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.4 CommandBar控件 556
25.4.5 管理状态 558
25.5 Windows Store应用程序的常见元素 559
25.6 Windows Store 560
25.6.1 打包应用程序 560
25.6.2 创建包 561
25.7 习题 561
25.8 本章要点 561
附录A 习题答案 563
內容試閱 :
前 言
C#是Microsoft于2000年7月推出.NET Framework的第1版时提供的一种全新语言。C#从那时起迅速流行开来,成为使用.NET Framework的桌面、Web、云和跨平台开发人员无可争议的选择。他们喜欢C#的一个原因是其继承自CC的简洁明了的语法,这种语法简化了以前给程序员带来困扰的一些问题。尽管做了这些简化,但C#仍保持了C原有的功能,所以现在没理由不从C转向C#。C#语言并不难,也非常适合开发人员学习基本编程技术。易于学习,再加上.NET Framework的功能,使C#成为开始你编程生涯的绝佳方式。
C#的最新版本C# 7是.NET Framework 4.7的一部分,它建立在已有的成功基础之上,还添加了一些更吸引人的功能。Visual Studio的最新版本Visual Studio 2017和开发工具的Visual Studio Code 2017系列也有许多变化和改进,这大大简化了编程工作,显著提高了效率。
《C#入门经典第8版》将全面介绍C#编程的所有知识,从该语言本身一直到桌面编程、云编程和跨平台编程,再到数据源的使用,最后是一些新的高级技术。我们还将学习Visual Studio 2017的功能和利用它开发应用程序的各种方式。
《C#入门经典第8版》文笔优美流畅,阐述清晰,每一章都以前面章节的内容为基础,便于读者掌握高级技术。每个概念都会根据需要来介绍和讨论,而不会突然冒出某个技术术语来妨碍读者的阅读和理解。《C#入门经典第8版》尽量减少使用的技术术语数量,但如有必要,将根据上下文进行正确的定义和布置。
《C#入门经典第8版》作者都是各自领域的专家,都是C#语言和.NET Framework的爱好者,没人比他们更有资格讲授C#了,他们将在你掌握从基本原理到高级技术的过程中为你保驾护航。除基础知识外,《C#入门经典第8版》还有许多有益的提示、练习、完全成熟的示例代码可从www.wrox.com和https:github.combenperkBeginningCSharp7下载,在你的职业生涯中一定会反复用到它们。
《C#入门经典第8版》将毫无保留地传授这些知识,希望读者能通过阅读《C#入门经典第8版》成为最优秀的程序员。
0.1 《C#入门经典第8版》读者对象
《C#入门经典第8版》面向想学习如何使用.NET Framework编写C#程序的所有人。《C#入门经典第8版》针对的是想要通过学习一种干净、现代、优雅的编程语言来掌握程序设计的完完全全的初学者。但是,对于熟悉其他编程语言、想要探索.NET平台的读者,以及想要了解.NET使用的旗舰语言的.NET开发人员,《C#入门经典第8版》同样很有价值。
0.2 《C#入门经典第8版》内容
《C#入门经典第8版》前面的章节介绍C#语言本身,读者不需要具备任何编程经验。以前对其他语言有一定了解的开发人员,会觉得这些章节的内容非常熟悉。C#语法的许多方面都与其他语言相同,许多结构对所有的编程语言来说都是相通的例如,循环和分支结构。但是,即使是有经验的程序员也可以通过这些章节理解此类技术应用于C#的特征,从而从中获益。
如果读者是编程新手,就应从头开始学习,了解基本的编程概念,并熟悉C#和支持C#的.NET平台。如果读者对.NET Framework比较陌生,但知道如何编程,就应阅读第1章,然后快速跳读后面几章,这样就能掌握C#语言的应用方式了。如果读者知道如何编程,但以前从未接触过面向对象的编程语言,就应从第8章开始阅读。
如果读者对C#语言比较了解,就可以集中精力学习那些详细论述最新.NET Framework和C#语言开发的章节,尤其是集合、泛型和C#语言新增内容的相关章节第11章和第12章。
《C#入门经典第8版》章节的编排方式可以达到两个目的:可以按顺序阅读这些章节,将其视为C#语言的一个完整教程;还可以按照需要深入学习这些章节,将其作为一本参考资料。
除核心内容外,从第3章开始,大多数章节的末尾还包含一组习题,完成这些习题有助于读者理解所学的内容。习题包括简单的选择题、判断题以及需要修改或创建应用程序的较难问题。附录中给出了全部习题的答案。这些习题也可以通过《C#入门经典第8版》的配套网站www.wrox.com下载,它们是wrox.com代码下载的一部分。
《C#入门经典第8版》特别注重与C# 7、.NET 4.7的一致性。对每一章都进行了彻底的检查,删掉了不太相关的内容,增加了新内容。所有代码都在最新版本的开发工具上进行了测试,所有屏幕截图都在Windows 10上重新截取,以提供最新的窗口和对话框。
《C#入门经典第8版》的亮点包括:
● 增加并改进了代码示例。
● 涵盖C# 7和.NET 4.7的所有新内容。
● 增加了编写跨平台运行的.NET Core和ASP.NET Core应用程序的示例。
● 增加了编写云应用程序的示例,并使用Azure SDK创建和访问云资源。
0.3 《C#入门经典第8版》结构
《C#入门经典第8版》分为6大部分。
● 前言:概述《C#入门经典第8版》的内容。
● C#语言:介绍C#语言的所有内容,从基础知识到面向对象的技术,一应俱全。
● Windows编程:介绍如何用WPF库编写和部署桌面应用程序。
● 云和跨平台编程:描述云和跨平台应用程序的开发和部署,包括Web API的创建和使用。
● 数据访问:介绍如何在应用程序中使用数据,包括存储在硬盘文件中的数据、以XML格式存储的数据和数据库中的数据。
● 其他技术:讲述使用C#和.NET Framework的一些额外方式,包括WCF和通用Windows应用程序。
下面介绍《C#入门经典第8版》5个重要部分中的章节。
0.3.1 C#语言第1~13章
第1章介绍C#及其与.NET的关系,了解在这个环境下编程的基础知识,以及Visual Studio 2017与它的关系。
第2章开始介绍如何编写C#应用程序,学习C#的语法,并将C#和示例命令行、Windows应用程序结合起来使用。这些示例将说明如何快速轻松地启动和运行C#,并附带介绍Visual Studio开发环境以及《C#入门经典第8版》将要使用的基本窗口和工具。
接着将学习C#语言的基础知识。第3章介绍变量的含义以及如何操纵它们。第4章将用流程控制循环和分支改进应用程序的结构,第5章介绍一些更高级的变量类型,如数组。第6章开始以函数形式封装代码,这样就更易于执行重复操作,使代码更容易让人理解。
从第7章开始将运用C#语言的基础知识,调试应用程序。这包括在运行应用程序时输出跟踪信息,使用Visual Studio查找错误,在强大的调试环境中找出解决问题的办法。
第8章将学习面向对象编程Object-Oriented Programming,OOP。首先了解这个术语的含义,回答什么是对象?OOP初看起来是较难的问题。我们将用一整章的篇幅来介绍它,解释对象的强大之处。直到该章的最后才会真正使用C#代码。
第9章将理论知识应用于实践,当开始在C#应用程序中使用OOP时,这才体现出C#的真正威力。在第9章介绍如何定义类和接口之后,第10章将探讨类成员包括字段、属性和方法,在这一章的最后将开始创建一个扑克牌游戏,这个游戏将在后续章节中逐步开发完成,它非常有助于理解OOP。
学习了OOP在C#中的工作原理后,第11章将介绍几种常见的OOP场景,包括处理对象集合、比较和转换对象。第12章讨论.NET 2.0中引入的一个非常有用的C#特性 泛型,利用它可以创建非常灵活的类。第13章通过一些其他技术主要是事件,它在Windows编程中非常重要继续讨论C#语言和OOP。最后介绍C# 3.0456版本中引入的新特性。
0.3.2 Windows编程第14章和第15章
第14章开始介绍Windows编程的概念,理解在Visual Studio中如何实现Windows编程。该章主要关注如何使用WPF以图形化方式构建桌面应用程序,以及用最少的时间和精力创建高级桌面应用程序。你将首先学习WPF编程的基础知识,然后在该章和第15章逐渐拓展相关知识。第15章演示在应用程序中如何使用.NET Framework提供的丰富控件。
0.3.3 云和跨平台编程第16~19章
第16章首先描述云编程,再讨论云优化堆栈。云环境不同于传统的程序编码方式,所以讨论、定义了几个云编程模式。为完成这一章,需要一个免费的Azure账户,以便创建一个App Services Web App,然后使用Azure SDK和C#,在ASP.NET 4.7 Web应用程序中创建和访问存储账户。
第17章将学习如何创建ASP.NET Web API,并部署到云中,然后在类似的ASP.NET 4.7 Web应用程序中使用Web API。这一章最后讨论云中两个最有价值的特性:硬件资源的缩放和最优利用方式。
第18章将介绍.NET Standard 和 .NET Core,这两个工具可用于任何应用程序类型,例如WPF、Windows和ASP.NET。新兴的应用程序是可以跨平台运行如Linux或macOS的。该章介绍.NET Core 2.0的安装指南,以及如何创建和实现.NET Standard 库。
第19章将描述ASP.NET及其多种不同的类型例如ASP.NET Web Forms、ASP.NET MVC和ASP.NET Core。该章末尾的习题利用了第18章的ASP.NET Web Pages和ASP.NET Core 应用程序中所创建的.NET Standard 库。
0.3.4 数据访问第20~23章
第20章介绍应用程序如何将数据保存到磁盘以及如何检索磁盘上的数据作为简单的文本文件或者更复杂的数据表示方式。该章还将讨论如何压缩数据,以及如何监视和处理文件系统的变化。
第21章学习数据交换的事实标准XML,简要论述JSON格式。在之前的章节中你接触过XML几次,而该章将讨论XML的基本规则,论述XML的所有功能。
该部分的其余章节介绍LINQ这是内置于.NET Framework最新版本中的查询语言。第22章简要介绍LINQ。第23章讨论如何使用LINQ访问数据库和其他数据。
0.3.5 其他技术第24章和第25章
第24章简要介绍Windows Communication FoundationWCF,它为在企业级以编程方式跨本地网络和Internet访问信息和功能提供了许多工具。该章将介绍如何以平台无关的方式使用WCF,向Web应用程序和桌面应用程序公开复杂的数据和功能。
第25章展示如何创建通用Windows应用程序,这是Windows新增的内容。该章建立在第14章和第15章的基础上,介绍如何创建可以运行在所有Windows平台上的Windows应用程序。
0.4 使用《C#入门经典第8版》的要求
《C#入门经典第8版》中C#和.NET Framework的代码和描述都适用于C# 7和.NET 4.7。除了.NET Framework之外,不需要其他组件就可以理解《C#入门经典第8版》的这个方面,但许多示例都需要使用开发工具。《C#入门经典第8版》将Visual Studio Community 2017作为主要开发工具。使用Visual Studio Community 2017来创建Windows应用程序、云应用程序、跨平台的应用程序,以及访问数据库的SQL Server Express应用程序。一些功能只能在Visual Studio 2017中使用,但这不会妨碍练习《C#入门经典第8版》的示例。
0.5 《C#入门经典第8版》约定
为了帮助读者在阅读《C#入门经典第8版》的过程中获取最多信息,并随时了解当前处理的事项,《C#入门经典第8版》使用了许多约定。
警告:
带有警告图标的方框包含重要且应该记住的信息,这些信息与周围的文字直接关联。
提示:
带有铅笔图标的方框表示注释、提示、暗示、技巧或对当前讨论的弦外之音。
《C#入门经典第8版》通过两种方式来显示代码:
● 对于大多数代码示例,使用没有突出显示的等宽字体来表示。
● 对在当前上下文中特别重要的代码,用粗体字强调显示。
0.6 源代码
在读者学习《C#入门经典第8版》中的示例时,可以手工输入所有的代码,也可以使用《C#入门经典第8版》附带的源代码文件。《C#入门经典第8版》使用的所有源代码都可以从《C#入门经典第8版》合作站点www.wrox.com或https:github.combenperkBeginningCSharp7下载。
在站点www.wrox.com上通过搜索《C#入门经典第8版》的英文版ISBN978-1-119-45868-5可以获得源代码。当前所有可下载代码的Wrox图书的完整列表可以通过www.wrox.comdynamicbooksdownload.aspx获得。
www.wrox.com上的大部分代码都以.ZIP、.RAR或者适合平台的类似归档格式进行了压缩。下载代码后,只需要用合适的解压缩工具对它进行解压缩即可。
此外,读者也可扫描封底的二维码下载示例代码。
注意:
由于许多图书的标题都很类似,因此按ISBN搜索是最简单的,《C#入门经典第8版》英文版的ISBN是978-1-119-45868-5。
另外,也可以进入http:www.wrox.comdynamicbooksdownload.aspx上的Wrox代码下载主页,查看《C#入门经典第8版》和所有其他Wrox图书的代码。
0.7 勘误表
尽管我们已经尽了各种努力来保证文本或代码中不出现错误,但错误总是难免的,如果你在《C#入门经典第8版》中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。
要在网站上找到《C#入门经典第8版》英文版的勘误表,可以登录www.wrox.com,单击Errata链接。在这个页面上可以看到Wrox编辑已提交和张贴的所有勘误项。
如果在Book Errata页面上没有看到你找出的错误,请进入www.wrox.comcontacttechsupport.shtml,填写表单,发送电子邮件,我们就会检查你发布的信息。如果是正确的,就在《C#入门经典第8版》的勘误表中张贴一条消息,我们将在《C#入门经典第8版》的后续版本中采用。