.NETCore实战:手把手教你掌握个精彩案例pdf下载pdf下载

.NETCore实战:手把手教你掌握个精彩案例百度网盘pdf下载

作者:
简介:本篇主要提供.NETCore实战:手把手教你掌握个精彩案例pdf下载
出版社:清华大学出版社
出版时间:2019-07
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

微软价值专家MVP原创作品!微软(中国)有限公司开发体验和平台合作事业部推荐阅读!微软全球执行副总裁沈向洋作序!附赠完整源代码!!.NET Core是微软公司官方发布的新一代应用程序开发框架,具有免费开源、跨平台、高效运行等特点。使用.NET Core开发的应用程序可以运行在Windows、Linux、Mac OS等操作系统上。本书特点如下:

 内容全面 本书案例涉及从面向对象编程基础到文件与目录管理、数据处理、异步编程,再到网络通信、反射、组件合成、加密算法等高级技术。

 实践性强 所有案例都可以独立运行,效果直观,针对性强。读者还可以根据自己的学习体验对书中案例进行修改与扩展。

 轻松阅读 全书以实用案例为主,以理论阐述为辅。每个案例的“导语”部分先对相关技术要点作简要说明,省去冗长枯燥的论述,使学习更有趣。

 适用面广 本书虽以案例讲解为主,但内容仍紧扣基础知识,适合作为各大培训机构的培训教材或者高校计算机类专业.NET Core相关课程的参考教材。


内容简介

本书通过380个独立且简单的实例全面介绍了.NET Core的核心开发技术。全书分为三篇: 第一篇基础知识(第1~7章),内容包括开发环境与应用程序项目管理、C#语言基础、面向对象编程、数学运算与字符串处理、泛型与集合、LINQ与动态类型; 第二篇技术进阶(第8~13章),内容包括文件与I/O、序列化、异步与并行、网络编程、反射与Composition、加密算法; 第三篇ASP.NET Core(第14~17章),内容包括应用启动、依赖注入与中间件、MVC与Web API、应用配置与数据库访问。

为了便于读者学习,本书提供了所有实例的配套源代码,在开发环境中运行,能直观地看到每个实例的运行效果。本书适合作为普通高校.NET Core技术相关课程的教学用书,也可以作为相关培训机构的培训教材,还可作为从事.NET Core技术开发的IT从业者的参考用书。


作者简介

周家安 微软z有价值专家(MVP),擅长.NET及其相关开发技术,专注于探索简单实用的编程学习方法。长期在博客园等技术社区撰写.NET相关技术文章,并出版《C#6.0学习笔记——从d一行C#代码到d一个项目设计(全程视频课堂)》《Windows 10 应用开发实战(第2版)》等原创技术图书。

内页插图

目录

丛书序(沈向洋)
前言
第一篇 基础知识
第1章 搭建开发与测试环境
1.1 在Windows上安装开发环境
实例1 安装VisualStudio
实例2 修复VisualStudio
1.2 在Linux操作系统中配置测试环境
实例3 启用Windows上的Linux子系统
实例4 设置root密码
实例5 在Linux系统中安装.NETCoreSDK
实例6 在Linux系统中安装.NETCore运行时
第2章 应用程序项目管理
2.1.NETCore命令行工具的使用
实例7 使用命令行工具创建.NETCore项目
实例8 定义新项目的名称与存放位置
实例9 编译应用程序项目
实例10 编译项目的Release版本
实例11 创建解决方案文件
实例12 枚举或删除解决方案中的项目
实例13 运行应用程序
2.2 VisualStudio开发环境
实例14 使用VisualStudio创建项目
实例15 在VisualStudio中运行项目
实例16 显示代码行号
实例17 在C#Interactive窗口中做代码实验
实例18 在解决方案中添加和移除项目
实例19 添加NuGet包引用
实例20 清除NuGet包缓存
实例21 保存窗口布局
实例22 给代码打书签
2.3 代码注释
实例23 单行注释
实例24 多行注释
实例25 文档注释
2.4 发布.NETCore应用项目
实例26 在VisualStudio中发布.NETCore应用
实例27 使用VisualStudio发布可独立运行的项目
实例28 使用dotnet命令行工具发布"自包含"项目
第3章 C#语言基础

3.1命名空间


实例29使用namespace关键字


实例30嵌套命名空间


...


实例35使用using static指令


3.2变量与常量


实例36一次性声明多个变量


实例37让编译器自动推断变量的类型

...

实例40输出变量的名称


实例41为变量分配默认值


3.3程序入口点


实例42获取命令行参数


实例43处理多个入口点


3.4流程控制


实例44奇数还是偶数


实例45使用for循环输出文本


...


实例48退出循环的方法


实例49输出20以内能被3整除的正整数


实例50做一道选择题


...

实例53代码跳转


第4章面向对象编程


4.1类与结构


实例54声明公共类


实例55为结构定义构造函数


实例56构造函数的相互调用


实例57静态构造函数


...


实例62输出参数


实例63可变个数的方法参数


实例64使用按引用传递的返回值


实例65按参数名称来传值


实例66可选参数


实例67在声明时初始化属性


4.2委托与事件


实例68委托实例如何绑定方法


实例69绑定多个方法


...


实例73将方法作为参数进行传递


实例74使用Lambda表达式动态产生数据


4.3继承与多态


实例75调用基类的构造函数


实例76重写基类的成员


实例77彻底替换基类的成员


实例78实现多个接口


实例79实现接口的结构

...


实例87匿名类型


4.4枚举


实例88声明枚举类型


实例89指定枚举的基础类型


...


实例93检查枚举实例中是否包含某个标志位


4.5特性


实例94自定义特性类


实例95向特性类的构造函数传递参数


...

实例98方法的返回值如何应用特性


4.6运算符


实例99计算一个整数的阶乘


实例100按位平移

...


实例104对null进行判断


4.7类型转换


实例105强制转换


...

实例110将整数转换为十六进制字符串


实例111自定义隐式转换


4.8可以为null的值类型


实例112访问可以为null的值类型


实例113为NullableT实例分配默认值


第5章数学运算与字符串处理


5.1简单数学计算


实例114求一组整数中的最大值和最小值


实例115计算平均值


...


实例121处理超大整数


5.2日期/时间换算


实例122今天是星期几

...

实例126从日期字符串中产生DateTime实例


5.3常用的字符串处理


实例127使用Concat方法拼接字符串


实例128使用“+”运算符拼接字符串


...


实例138判断字符是否为数字


实例139截取字符串

...

实例144处理字符串中出现的双引号


5.4格式控制符


实例145输出百分比


...


实例152自定义小数位数


5.5从字符串到其他类型的转换


实例153从二进制字符串产生int实例

...

实例157字符串隐式转换为自定义类


第6章泛型与集合


6.1泛型


实例158使用泛型参数


...

实例165将抽象类作为类型约束


6.2数组


实例166四种方式初始化数组实例


实例167创建二维数组


...


实例177复制数组中的元素


6.3集合


实例178将数字进行降序排列


...


实例200跨线程访问BlockingCollection集合


6.4元组


实例201Tuple类的使用


...


实例207将元组作为返回值


第7章LINQ与动态类型


7.1常见的扩展方法


实例208求最大值与最小值


...

实例220将原始序列进行分组


7.2LINQ语法


实例221筛选能被5整除的整数


...


实例235添加命名空间前缀


7.3动态类型


实例236通过ExpandoObject类创建动态实例


...

实例240模拟委托实例的调用


第二篇技 术 进 阶


第8章文件与I/O


8.1目录与文件


实例241创建目录与文件


...


实例252枚举磁盘驱动器


8.2流


实例253向内存流写入内容


...


实例259通过Position属性更改流的当前位置


8.3压缩与解压缩


实例260使用DeflateStream类压缩文件


...


8.4内存映射文件


实例263读写内存映射文件


实例264将内存映射文件写入磁盘文件


8.5命名管道


实例265实现本地进程之间的通信


实例266单向管道通信


第9章序列化


9.1简单序列化方案


实例267二进制序列化


...

实例270在序列化时忽略某些字段


9.2XML序列化


实例271XmlSerializer与XML序列化


...


实例276自定义数组类型成员的XML元素


9.3数据协定


实例277数据协定的简单定义


...


实例283保留实例引用


第10章异步与并行


10.1线程


实例284Sleep方法的妙用


...


实例290使用线程锁


10.2并行任务


实例291启动Task的三种方法


...

实例295使用Parallel类执行并行操作


10.3异步等待语法


实例296声明异步方法


...

实例299保留异步上下文中的本地变量值


实例300取消并行任务


第11章网络编程


11.1Socket通信


实例301简单的TCP通信程序

...

11.2HTTP编程


实例304从Web服务器上下载图片


实例305使用HttpClient类向Web服务器提交数据


第12章反射与Composition


12.1反射技术


实例306获取程序集中的类型列表


...


实例312检测类型上所应用的自定义Attribute


12.2Composition


实例313安装NuGet包——System.Composition


...


实例320用抽象类来充当协定类型


第13章加密算法


13.1单向加密


实例321计算输入字符串的MD5值


实例322使用SHA1算法校验文件


13.2双向加密


实例323使用AES算法加密和解密文本


...

实例325用RSA算法加密和解密数据


第三篇ASP.NET Core


第14章应用启动


14.1Web主机配置


实例326使用默认配置创建Web主机


...

实例329配置Web项目的调试方案


14.2Startup


实例330基于方法约定的Startup类


...


实例332无Startup启动应用程序


14.3启动环境


实例333使用非预定义环境


...

第15章依赖注入与中间件


15.1服务


实例335枚举应用程序中已添加的服务


...


15.2依赖注入


实例338实现SHA1计算服务


...


15.3中间件


实例341以委托形式定义中间件


...


实例346中间件的分支映射


第16章MVC与Web API


16.1Razor Web页面应用


实例347自定义Razor页的根目录


...


16.2MVC(模型框架视图)


实例352为全局路由字段分配默认值


...

实例367在视图中接收依赖注入


16.3静态文件与目录浏览


实例368访问静态文件


...


第17章应用配置与数据库访问


17.1配置应用程序


实例371自定义环境变量的命名前缀


...


17.2选项类


实例375选项类的使用方法


实例376使用JSON文件来配置选项类


17.3实体框架


实例377为实体模型设置主键


...


实例380在应用程序运行期间创建SQLite数据库


精彩书摘

第3章



C#语言基础





在本章节中,读者将学习到以下内容:

 使用命名空间;

 变量与常量;

 声明程序入口点;

 流程控制。


3.1命名空间

实例29使用namespace关键字

【导语】


命名空间有两个作用: 一是把各种类型按照用途进行分组,二是解决命名冲突。

第一个作用是将类型归类,例如在.NET类库中,有一个System.Security.Cryptography命名空间,根据其命名,可以知道在该命名空间下面的类型与安全技术有关,并且包含用于加密或解密的API。

对于第二个作用,假设用户在程序代码声明两个类型,它们的名字都是P,虽然名字相同,但两个P类型的功能是完全不同的。为了解决同名冲突,就可以分别把两个P类型放在不同的命名空间下,例如第一个P类型放在N1命名空间下,全名称为N1.P,再把第二个P类型放在N2命名空间下,全名称为N2.P。这样N1.P与N2.P就不再发生命名冲突了。

定义命名空间使用namespace关键字,定义后就可以将类型放置在命名空间中。

【操作流程】

步骤1: 在Visual Studio开发环境中新建控制台应用程序项目。

步骤2: 新建项目后,会自动打开项目模板生成的Program.cs文件。从生成的代码中可以看到,默认的命名空间与项目名字相同,例如,用户给项目命名为Demo,那么代码默认的命名空间同样为Demo。如代码清单31所示。



代码清单31模板生成的命名空间


前言/序言

前言


经过10多年的发展,Microsoft .NET Framework已经相当成熟,拥有强大的类库与可视化框架,融合了许多新技术。在Windows平台上,从桌面应用到Web应用都能完美胜任。

.NET Core是在原.NET框架的基础上开发的新一代开源项目,人们期待已久的.NET跨平台终于实现(基于.NET Core开发的应用程序可以运行在Windows、Linux、Mac OSX等操作系统上)。.NET Core项目由微软官方团队、第三方开发团队及社区用户共同维护。.NET Core从原有的.NET Framework抽取出最基础、最核心的API重新开发,作为.NET的新标准发布,第三方开发人员可以在此标准上进行自由扩展。

本书所有内容均以实例的形式呈现,容易上手。每个实例都包含两部分内容: 【导语】部分主要对实例中要用到的核心知识点进行介绍; 【操作流程】部分详细讲述完成实例项目的步骤,读者可以直接动手实践,亲自体验编程的乐趣。

本书内容分为三篇:

第一篇基础知识。涉及开发环境的搭建、基础类型、流程控制、常用集合、LINQ语法和面向对象思想等内容。

第二篇技术进阶。强化编程技能,此部分的实例包括文件与目录操作、基础I/O、序列化/反序列化、网络与异步编程、反射与加密算法应用等内容。

第三篇ASP.NET Core。此部分主要包括与Web开发相关的实例,重点涉及Web Host初始化、中间件、依赖注入、应用配置、EF Core等关键知识。

笔者曾写过与C# 编程相关的书,写作此书的想法是源于几位网友在微博私信中的提问,经过一番斟酌,我认为有必要编写一本与.NET Core有关的书,毕竟.NET Core作为全新的跨平台项目,存在不少新的特性。不过本书中未使用大篇幅讲解的叙述方式,而是采用以单独实例驱动为主,以知识阐述为辅的方式,重点在于调动读者积极上机实战的兴趣。经常有初学编程的朋友问我: 为什么看书的时候感觉自己学会了,但一敲代码就什么都忘了?其实,没有人天生就会写代码,之所以会有这种遗忘现象的发生,说到底是练得太少了,总觉得书上的例子很简单,而不愿意动手去敲一遍。

.NET Core作为开源项目,可能会有许多扩展项目,涉及内容较广,由于篇幅与作者的水平有限,本书不能覆盖所有的应用领域,仅精选出与.NET Core主体框架关系密切且较为实用的实例进行演示,提供给大家作为参考。


最后,感谢各位同仁与广大网友对我的支持,也感谢清华大学出版社,我们已经合作出版过多种图书。

周家安

2019年7月