书籍详情
C#入门经典(第8版)
作者:(美)本杰明·帕金斯
出版社:清华大学出版社
出版时间:2019-01-01
ISBN:9787302517740
定价:¥118.00
购买这本书可以去
内容简介
主要内容 1讲解变量、表达式、流程控制、函数、调试和错误处理 2涵盖面向对象编程、类、类成员、Web编程、Windows编程和Windows窗体等主题 3阐述代码导航、IntelliSense、重构和代码修复等增强功能如何帮助你更快捷、更轻松地编写程序 4讲述如何尽早发现和修复bug,以免在后期耗费时间解决棘手问题 5探讨云、跨平台和数据访问编程 6wrox.com提供大量可下载的代码示例
作者简介
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等。
目录
目 录
第 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
猜您喜欢