BenjaminPerkins著《C#入门经典》

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

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

作者简介

BenjaminPerkins(MBA、MCSD、ITIL)目前在微软(德国慕尼黑)工作,是一位资深的高级工程师。他在IT行业工作了二十多年。他11岁时就开始在Atari1200XL台式计算机上用QBasic编写计算机程序。他喜爱诊断和排除技术问题,品味写出好程序的乐趣。高中毕业后,他加入美国军队。在成功服完兵役后,他进入得克萨斯州的得克萨斯A&M大学,在那里获得管理信息系统的工商管理学士学位。
他在IT行业的足迹遍及整个行业,包括程序员、系统架构师、技术支持工程师、团队领导和中层管理。在受雇于惠普时,他获得了诸多奖项、学位和证书。他对技术和客户服务富有激情,期待排除故障,编写出更多世界级技术解决方案。
“我的方法是烂熟于心之后才编写代码,完整、正确地编写一次,这样就不需要再次考虑它,除非要改进它。”
Benjamin与妻子Andrea以及两个可爱的孩子Lea和Noa一起快乐地生活。

JacobVibeHammer是丹麦Systematic公司的一名高级软件工程师,帮助医疗行业开发解决方案。自他刚能拼写单词“BASIC”之时,就开始了自己的编程生涯,BASIC也是他使用的第一门编程语言。从那以后,他用过多种编程语言和解决方案架构。但进入21世纪后,他主要在.NET平台上工作。如今,他主要编写C#和WPF程序,以及试用NoSQL数据库。Jacob是丹麦人,与妻儿一起居住在丹麦的奥胡斯市。
JonD.Reid担任IFSFieldServiceManagement(www.IFSWORLD.com)的产品解决方案经理。他已与他人合著了多本图书,包括BeginningVisualC#2015、FastTrackC#和ProVisualStudio.NET等。

显示部分信息

目  录

目录

第I部分C#语言
第1章C#简介3
1.1.NETFramework的含义3
1.1.1.NETFramework的内容4
1.1.2.NETStandard和.NETCore4
1.1.3使用.NETFramework和.NETCore编写
应用程序4
1.2C#的含义7
1.2.1用C#能编写什么样的应用程序7
1.2.2本书中的C#8
1.3VisualStudio20178
1.3.1VisualStudio2017产品8
1.3.2解决方案9
1.4本章要点9
第2章编写C#程序11
2.1VisualStudio2017开发环境12
2.2控制台应用程序15
2.2.1SolutionExplorer窗口17
2.2.2Properties窗口18
2.2.3ErrorList窗口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.1VisualStudio中的调试101
7.1.1非中断(正常)模式下的调试102
7.1.2中断模式下的调试108
7.2错误处理113
7.2.1try...catch...finally114
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桌面应用程序中的OOP132
8.4习题135
8.5本章要点135
第9章定义类137
9.1C#中的类定义137
9.2System.Object141
9.3构造函数和析构函数142
9.4VisualStudio中的OOP工具145
9.4.1ClassView窗口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.7CallHierarchy窗口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键控集合和IDictionary190
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扩展和使用CardLib254
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.1XAML290
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使用MicrosoftAzureC#库创建
存储容器369
16.4创建使用存储容器的ASP.NET4.7
网站376
16.5习题382
16.6本章要点382
第17章高级云编程和部署383
17.1创建ASP.NETWebAPI383
17.2在MicrosoftAzure上部署和
使用ASP.NETWebAPI387
17.3缩放MicrosoftAzure平台上的
ASP.NETWebAPI392
17.4习题395
17.5本章要点395
第18章.NETStandard与.NETCore397
18.1跨平台基础知识以及必知的
关键术语398
18.2.NETStandard的含义和作用399
18.3引用和目标框架402
18.4.NETCore的含义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生成和打包.NETStandard库409
18.6使用VisualStudio生成.NETCore
应用程序413
18.7从.NETFramework移植到.NETCore415
18.7.1识别第三方依赖415
18.7.2理解哪些功能不可用415
18.7.3升级当前的.NETFramework目标416
18.7.4为程序选择目标平台416
18.8本章要点416
第19章ASP.NET与ASP.NETCore417
19.1Web应用程序概述418
19.2选择合适的ASP.NET418
19.2.1ASP.NETWebForms419
19.2.2ASP.NETMVC420
19.2.3ASP.NETWebAPI422
19.2.4ASP.NETCore422
19.2.5ASP.NETWebSite与ASP.NETWeb
ApplicationProject类型的对比423
19.3使用ASP.NETWebForms424
19.3.1服务器控件425
19.3.2输入验证425
19.3.3状态管理426
19.3.4身份验证与授权426
19.4创建ASP.NETCoreWeb应用程序430
19.4.1IIS和Kestrel431
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和JSON461
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转换为JSON471
21.6用XPath搜索XML473
21.7习题475
21.8本章要点476
第22章LINQ477
22.1LINQtoXML478
22.1.1LINQtoXML函数构造方式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安装SQLServerExpress500
23.3EntityFramework500
23.4CodeFirst数据库500
23.5数据库的位置506
23.6导航数据库关系507
23.7处理迁移512
23.8在已有的数据库中创建和查询XML513
23.9习题517
23.10本章要点517

第V部分其他技术 第24章WindowsCommunicationFoundation521
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.5WindowsStore应用程序的常见元素559
25.6WindowsStore560
25.6.1打包应用程序560
25.6.2创建包561
25.7习题561
25.8本章要点561
附录A习题答案563

#现在前往

精选留言

BenjaminPerkins,C#入门经典
sample
2020-08-04
写留言
签到
投稿
QQ咨询
返回顶部