猜你喜欢
C# 8.0和.NET Core 3.0高级编程

C# 8.0和.NET Core 3.0高级编程

书籍作者:[英] 马克·J.普赖斯(Mark ISBN:9787302565499
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9778
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

《C#8.0和.NET Core 3.0高级编程》包含C#编程的所有主题,可分为三大部分,第一大部分介绍C#基础知识,包括面向对象编程以及新的C#8.0特性,比如可空引用类型、简化的switch模式匹配以及默认的接口方法。第二大部分介绍.NETStandard APl,包括管理和查询数据、监视和改进性能以及使用文件系统、异步流、序列化和加密等。第三大部分介绍如何构建和部署跨平台的应用程序,例如使用ASP.NET Core构建Web应用程序和使用Xamarin.Forms构建移动应用程序。

《C#8.0和.NET Core 3.0高级编程》还介绍了构建Windows桌面应用程序的三种技术——Windows Forms.WPF(WindowsPresentation Foundation)和UWP(UniversalWindows Platform)。

主要特色

●为Windows.macOS、Linux、iOS和Android

构建跨平台应用程序

●使用C# 8.0和.NET Core 3.0的应用程序开发

●探索ASP.NET Core 3.0,创建专业的Web应用程序

●学习面向对象编程和C#多任务处理

●使用LINQ查询和操作数据

●使用Entity Framework Core和关系数据库

●使用UWP和XAML的Windows应用程序开发

●使用Xamarin.Forms为iOS和Android开发移动应用程序


作者简介

Mark J.Price是微软专家,他使用C#进行编程并构建微软Azure解决方案,拥有20多年的教育和编程经验。自1993年以来,Mark已经通过了80多项微软编程考试,他特别擅长帮助其他人顺利通过这些考试。他的学生既有几十年经验的专业人士,也有16岁的学徒。他通过结合教育技能以及亲自为世界范围内的企业提供咨询和开发系统的实际经验,成功指导了所有这些学生。


编辑推荐

在《C#8.0和.NET Core 3.0高级编程》中,专家级作家Mark J. Price提供了开始编写C#应用程序所需的一切技能,适用于所有主流操作系统。

《C#8.0和.NET Core 3.0高级编程》使用当前更流行的Visual Studio Code编辑器开展编程任务,对上一版内容进行了全面的更新和扩展,新增了两章专门介绍内容管理系统(CMS)以及如何使用ML.NET进行机器学习。


前言

前 言




有些C#书籍长达数千页,旨在全面介绍C#编程语言和.NET Framework。《C# 8.0和.NET Core 3.0高级编程(第4版)》与众不同。《C# 8.0和.NET Core 3.0高级编程(第4版)》简洁明快、行文流畅,每个主题都配有实际动手演练项目。进行总体叙述的广度是以牺牲一定深度为代价的,但如果愿意,你就会发现许多主题都值得进一步探索。《C# 8.0和.NET Core 3.0高级编程(第4版)》也是一份循序渐进的指南,可用于通过跨平台.NET学习现代C#实践,并简要介绍可以使用它们构建的主要应用程序类型。《C# 8.0和.NET Core 3.0高级编程(第4版)》最适合C#和.NET初学者阅读,也适合学过C#但感觉在过去几年自身技术落后的程序员阅读。

《C# 8.0和.NET Core 3.0高级编程(第4版)》将指出C#和.NET的一些优缺点,这样就可以给人留下深刻的印象,并快速提高工作效率。《C# 8.0和.NET Core 3.0高级编程(第4版)》的解释不会事无巨细,以免因放慢速度导致读者感到无聊,而是假设读者足够聪明,能够自行对一些初中级程序员需要了解的主题进行解释。

《C# 8.0和.NET Core 3.0高级编程(第4版)》内容

第1章介绍如何设置开发环境,并通过C#和.NET,使用Visual Studio Code 创建最简单的应用程序。通过学习本章,你将了解如何在任何受支持的操作系统(Windows、macOS和Linux发布版)中编写和编译代码,并了解寻求帮助的最佳地点。

第2章介绍C#的版本,并通过一些表介绍各个版本的新特性,然后解释C#日常用来为应用程序编写源代码的语法和词汇。特别是,你在本章将学习如何声明和处理不同类型的变量,以及C# 8.0中引入可空引用类型后带来的巨大变化。

第3章讨论如何使用操作符对变量执行简单的操作,包括比较、编写决策以及重复语句块和类型之间的转换。该章还介绍了在不可避免地发生错误时,如何编写防御性代码来处理这些错误。

第4章阐述如何编写可重用函数以遵循“不要重复自己(Don’t Repeat Yourself,DRY)”原则。你将学习使用调试工具来跟踪和删除bug,在执行代码时监视代码以诊断问题,以及在将代码部署到生产环境之前严格测试代码,以删除bug并确保稳定性和可靠性。

第5章讨论类可以拥有的所有不同类别的成员,包括存储数据的字段和执行操作的方法。该章将不可避免地涉及面向对象编程(Object-Oriented Programming,OOP)概念,如聚合和封装。你将学习一些语言特性,比如元组语法支持和out变量,以及默认的字面值和推断出的元组名称。

第6章解释如何使用面向对象编程(OOP)从现有类派生出新的类。你将学习如何定义操作符、本地函数、委托和事件,如何实现关于基类和派生类的接口,如何覆盖类型成员以及使用多态性,如何创建扩展方法,以及如何在继承层次结构中的类之间进行转换。

第7章介绍.NET Core的版本,并给出了一些表来说明哪些版本引入了一些新特性,然后介绍与.NET标准兼容的.NET Core类型以及它们与C#的关系。你将学习如何部署和打包自己的应用程序和库。

第8章讨论允许代码执行的实际任务的类型,例如操作数字和文本、在集合中存储对象以及实现国际化。

第9章讨论与文件系统的交互、对文件和流的读写、文本编码以及诸如JSON和XML的序列化格式。

第10章探讨如何使用加密方法来保护数据不被恶意用户查看,使用哈希和签名防止数据被操纵或破坏。你将了解如何通过身份验证和授权来保护应用程序免受未授权用户的攻击。

第11章解释如何使用对象关系映射(Object Relational Mapping,ORM)来读写数据库,如Microsoft SQL Server和SQLite。

第12章学习语言集成查询(LINQ)——LINQ扩展语言增加了处理项目序列、筛选、排序以及将它们投影到不同输出的能力。

第13章讨论如何通过允许多个动作同时发生来提高性能、可伸缩性和用户生产力。你将了解async Main 特性以及如何使用System.Diagnostics名称空间中的类型来监视代码,以度量性能和效率。

第14章介绍可以使用C# 和.NET构建的跨平台应用程序的类型。

第15章介绍在服务器端通过ASP.NET Core使用现代HTTP架构构建网站的基础知识。你将学习如何实现ASP.NET Core特性(称为Razor页面),从而简化为小型网站创建动态网页的过程。

第16章讨论程序员团队如何利用ASP.NET Core MVC以一种易于进行单元测试和管理的方式构建大型、复杂的网站。你将了解启动配置、身份验证、路由、模型、视图和控制器。

第17章解释Web内容管理系统(Content Management System,CMS)如何使开发人员能够使用可定制的用户界面快速构建网站,非技术用户可以使用这一用户界面创建和管理自己的内容。你将构建一个简单的、基于.NET Core的开源网站,并将之命名为Piranha CMS。

第18章解释如何使用ASP.NET Core Web API构建后端REST体系结构Web服务,以及如何使用工厂实例化的HTTP客户端正确地使用它们。

第19章介绍ML.NET开源包中的机器学习算法,这些机器学习算法可用于把自适应智能嵌入任何跨平台的.NET应用程序,比如电子商务网站,从而为游客推荐能够添加到购物车中的商品。

第20和21章介绍使用跨平台.NET Core和Visual Studio Code 所能实现的主题。其中,第20章介绍.NET Core 3.0及其Windows桌面包如何使Windows窗体和WPF应用程序在.NET Core上运行时受益,还将介绍XAML的基础知识,从而为Windows Presentation Foundation (WPF)或Universal Windows Platform (UWP)图形应用程序定义用户界面。你将应用Fluent设计的原则和特性来点亮UWP应用程序。该章的应用程序必须使用Windows 10中的Visual Studio 2019来构建。第21章通过为iOS和Android构建跨平台的应用程序来介绍C# mobile。该章的应用程序需要在macOS上使用Visual Studio 2019来构建。

要做的准备工作

你可以在许多平台上使用Visual Studio Code 开发和部署C#和.NET应用程序,包括Windows、macOS和各种Linux发行版。拥有支持Visual Studio Code 和互联网连接的操作系统是学习第1~19章所必需的。

另外,第20章需要使用Windows 10来构建应用程序,第21章需要使用macOS来构建应用程序,拥有macOS和Xcode是编译iOS应用程序的必要条件。

在线资源

可从GitHub存储库(https://github.com/markjprice/cs8dotnetcore3)下载《C# 8.0和.NET Core 3.0高级编程(第4版)》涉及的任务和练习的解决方案。另外,书中的一些截图用彩色效果可能最佳,因为这样有助于你更好地理解输出中的变化。为此,我们专门制作了一份PDF文件。读者可使用手机扫描封底的二维码来下载以上所有资源。


目录

第1章 C#与.NET入门 1

1.1 设置开发环境 1

1.2 理解.NET 5

1.3 使用Visual Studio Code构建控制台应用程序 10

1.4 从GitHub存储库下载解决方案代码 12

1.5 寻求帮助 13

1.6 实践和探索 16

1.7 本章小结 17

第2章 C#编程基础 19

2.1 介绍C# 19

2.2 了解C#基本知识 24

2.3 使用变量 28

2.4 处理空值 38

2.5 深入研究控制台应用程序 42

2.6 实践和探索 48

2.7 本章小结 50

第3章 控制程序流程和转换类型 51

3.1 操作变量 51

3.2 理解选择语句 56

3.3 理解迭代语句 61

3.4 类型转换 63

3.5 实践和探索 73

3.6 本章小结 75

第4章 编写、调试和测试函数 77

4.1 编写函数 77

4.2 在开发过程中进行调试 84

4.3 在开发和运行时进行日志记录 90

4.4 单元测试函数 95

4.5 实践和探索 98

4.6 本章小结 99

第5章 使用面向对象编程技术构建自己的类型 101

5.1 面向对象编程 101

5.2 构建类库 102

5.3 在字段中存储数据 105

5.4 写入和调用方法 113

5.5 使用属性和索引器控制访问 120

5.6 实践和探索 123

5.7 本章小结 124

第6章 实现接口和继承类 125

6.1 建立类库和控制台应用程序 125

6.2 简化方法 126

6.2.1 使用方法实现功能 127

6.2.2 使用运算符实现功能 128

6.2.3 使用局部函数实现功能 129

6.3 触发和处理事件 130

6.3.1 使用委托调用方法 130

6.3.2 定义和处理委托 131

6.3.3 定义和处理事件 132

6.4 实现接口 133

6.5 使类型可以安全地与泛型一起重用 137

6.6 使用引用类型和值类型管理内存 140

6.7 从类继承 143

6.8 在继承层次结构中进行类型转换 147

6.9 继承和扩展.NET类型 149

6.10 实践和探索 151

6.11 本章小结 153

第7章 理解和打包.NET类型 155

7.1 .NET Core 3.0简介 155

7.2 了解.NET Core组件 157

7.3 发布用于部署的应用程序 163

7.4 反编译程序集 166

7.5 为NuGet分发打包自己的库 168

7.6 从.NET Framework移植到.NET Core 172

7.7 实践和探索 175

7.8 本章小结 176

第8章 使用常见的.NET类型 177

8.1 处理数字 177

8.2 处理文本 178

8.3 模式匹配与正则表达式 182

8.4 在集合中存储多个对象 185

8.5 使用span、索引和范围 191

8.6 使用网络资源 193

8.7 处理类型和属性 195

8.8 国际化代码 199

8.9 实践和探索 201

8.10 本章小结 203

第9章 处理文件、流和序列化 205

9.1 管理文件系统 205

9.2 用流来读写 212

9.3 编码和解码文本 221

9.4 序列化对象图 223

9.5 实践和探索 229

9.6 本章小结 230

第10章 保护数据和应用程序 231

10.1 理解数据保护术语 231

10.2 加密和解密数据 233

10.3 哈希数据 236

10.4 签名数据 239

10.5 生成随机数 242

10.6 密码学有什么新内容 244

10.7 用户的身份验证和授权 244

10.8 实践和探索 249

10.9 本章小结 250

第11章 使用Entity Framework Core 处理数据库 251

11.1 理解现代数据库 251

11.2 设置EF Core 254

11.2.1 选择EF Core数据提供程序 255

11.2.2 连接到数据库 255

11.3 定义EF Core模型 256

11.4 查询EF Core模型 260

11.5 使用EF Core加载模式 267

11.6 使用EF Core操作数据 270

11.7 实践和探索 274

11.8 本章小结 274

第12章 使用LINQ查询和操作数据 275

12.1 编写LINQ查询 275

12.2 使用LINQ处理集合 281

12.3 使用LINQ与EF Core 282

12.4 使用语法糖美化LINQ语法 289

12.5 使用带有并行LINQ的多个线程 290

12.6 创建自己的LINQ扩展方法 293

12.7 使用LINQ to XML 295

12.8 实践和探索 296

12.9 本章小结 298

第13章 使用多任务提高性能和可伸缩性 299

13.1 理解进程、线程和任务 299

13.2 监控性能和资源使用情况 300

13.3 异步运行任务 304

13.4 同步访问共享资源 310

13.5 理解async和await 314

13.6 实践和探索 317

13.7 本章小结 317

第14章 C#和.NET的实际应用 319

14.1 理解C#和.NET的应用模型 319

14.2 ASP.NET Core的新特性 321

14.3 理解SignalR 323

14.4 理解Blazor 324

14.5 构建Windows桌面应用程序和跨平台的移动应用程序 325

14.6 为Northwind数据库构建实体数据模型 326

14.7 本章小结 332

第15章 使用ASP.NET Core Razor Pages构建网站 335

15.1 了解Web开发 335

15.2 了解ASP.NET Core 338

15.3 了解Razor Pages 345

15.4 使用Entity Framework Core与ASP.NET Core 350

15.5 使用Razor类库 353

15.6 实践和探索 356

15.7 本章小结 357

第16章 使用MVC模式构建网站 359

16.1 设置ASP.NET Core MVC网站 359

16.2 探索ASP.NET Core MVC网站 363

16.3 自定义ASP.NET Core MVC网站 372

16.4 使用其他项目模板 387

16.5 实践与探索 389

16.6 本章小结 391

第17章 使用内容管理系统构建网站 393

17.1 了解CMS的优点 393

17.2 了解Piranha CMS 394

17.3 定义组件、内容类型和模板 414

17.4 测试Northwind CMS网站 427

17.5 实践和探索 431

17.6 本章小结 432

第18章 构建和消费Web服务 433

18.1 使用ASP.NET Core Web API构建Web服务 433

18.2 解释和测试Web服务 447

18.3 使用HTTP客户端消费服务 456

18.4 实现高级功能 460

18.5 了解其他通信技术 463

18.6 实践和探索 464

18.7 本章小结 465

第19章 使用机器学习构建智能应用程序 467

19.1 了解机器学习 467

19.2 理解ML.NET 469

19.3 进行产品推荐 472

19.4 实践和探索 485

19.5 本章小结 486

第20章 构建Windows桌面应用程序 489

20.1 了解旧的Windows应用程序平台 490

20.2 了解现代Windows平台 495

20.3 创建现代的Windows应用程序 498

20.4 使用资源和模板 505

20.5 使用数据绑定 508

20.6 实践和探索 522

20.7 本章小结 523

第21章 使用Xamarin.Forms构建跨平台的移动应用程序 525

21.1 了解Xamarin和Xamarin. Forms 525

21.2 使用Xamarin.Forms构建移动应用程序 529

21.3 在移动应用程序中消费Web服务 543

21.4 实践和探索 546

21.5 本章小结 547


短评

这本和此前的大红本高级编程不太一样,此书深度不大,全不全面不敢说,每章节带有练习题,(是我喜欢的),专题讲解仅仅是介绍,需另外购书学习,怎么**这本书呢;有点像国内的《XXX程序设计教程》,更像python的入门畅销书《从入门到实践》,对这本书叫《C#从入门到实践》好了?(入门书籍)

2020-11-14 11:15:14

这本不太厚,和那本厚厚的高级编程好像还不太一样!大概翻了翻,还可以,翻译的还不错!对.net快平台这一块介绍的很不错! .

2020-11-11 20:12:52

标签
計算機科學與技術