Visual C#从入门到精通(第9版)pdf下载

Visual C#从入门到精通(第9版)百度网盘pdf下载

作者:
简介:Visual C#从入门到精通(第9版)
出版社:
出版时间:2019-01
pdf下载价格:9.00¥


预览


内容介绍

产品特色

编辑推荐

通过《Visual C#从入门到精通(第9版)》,读者将掌握新版本Visual Studio 2017与VisualC#的基础编程知识。经验丰富的软件开发人员,可以通过本书的所有编程指导、练习和代码,着手开发响应速度快、扩展性强的Windows 10和Universal Windows Platform应用程序。
《Visual C#从入门到精通(第9版)》涉猎以下主题,可以帮助你掌握Windows开发精髓
使用Visual Studio 2017快速开始创建Visual C#代码和项目
探索变量、操作符、表达式和方法的使用
运用决策和迭代语句来控制程序流程
运用错误、异常和资源管理来构建更健壮的app
掌握Visual C#的面向对象编程基础
掌握枚举、结构、泛型、索引器和其他高级特性的用法
用LINQ查询表达式来创建内存数据查询
通过异步方法来提升应用程序的吞吐量和响应时间
解耦应用程序逻辑和事件处理
用新增app模板来进行流水开发
模型-视图-视图模型(MVVM)的实现
构建可以无缝适应PC,平板和Windows手机的Universal Windows Platform app
集成Microsoft Azure云端数据库和RESTful Web服务

内容简介

  C#作为微软的旗舰编程语言,深受程序员喜爱,是编写高效应用程序的语言。Visual C# 2017提供了大量新功能,《Visual C#从入门到精通(第9版)》围绕语言的基础知识和这些新功能全面介绍了如何利用Visual Studio 2017和.NETFramework4.6.1编写C#应用程序。《Visual C#从入门到精通(第9版)》沿袭深受读者欢迎的Stepby Step风格,通过合理的练习引导读者逐步构建在Windows 10上运行的应用程序、访问SQL Server数据库以及开发多线程应用等。
  全书共27章,结构清晰,叙述清楚。所有练习均在Visual Studio 2017简体中文版上进行过全面演练。无论是刚开始接触面向对象编程的新手,还是打算迁移到C#的C、C++或Java程序员,都可以从《Visual C#从入门到精通(第9版)》汲取到新的知识。迅速掌握C#编程技术。

作者简介

约翰 . 夏普(John Sharp)

微软MVP,资深技术作家,Content Master(英国CM集团的分支机构)的首席技术专家。John拥有伦敦帝国理工学院的计算机荣誉学士学位。过去27年,他一直致力于软件开发和培训教程与课程的写作。John拥有丰富的技术资历,精通数据库系统、UNIX、C、C++和C#应用开发。他还开发过Java和JavaScript应用,用Windows Azure设计企业级方案。

译者简介

周 靖
微软MVP,翻译风格严谨、准确、朴实、流畅,深受读者欢迎。代表译著有《Visual C#从入门到精通》系列版本、《C#本质论》、《CLR via C#》系列版本和Walter Savitch教授的经典教材《C++程序设计》系列版本。

目录

第I部分 Visual C#和Visual Studio 2017概述
第1章 欢迎进入C#编程世界
第2章 使用变量、操作符和表达式
第3章 方法和作用域
第4章 使用判断语句
第5章 使用复合赋值和循环语句
第6章 管理错误和异常

第II部分 理解C#对象模型
第7章 创建并管理类和对象
第8章 理解值和引用
第9章 使用枚举和结构创建值类型
第10章 使用数组
第11章 理解参数数组
第12章 使用继承
第13章 创建接口和定义抽象类
第14章 使用垃圾回收和资源管理

第III部分 用C#定义可扩展类型
第15章 实现属性以访问字段
第16章 处理二进制数据和使用索引器
第17章 泛型概述
第18章 使用集合
第19章 枚举集合
第20章 分离应用程序逻辑并处理事件
第21章 使用查询表达式来查询内存中的数据
第22章 操作符重载

第IV部分 用C#构建UWP应用
第23章 使用任务提高吞吐量
第24章 通过异步操作提高响应速度
第25章 实现UWP应用的用户界面
第26章 在UWP应用中显示和搜索数据
第27章 在UWP应用中访问远程数据库
译者后记

精彩书摘

第2章 使用变量、操作符和表达式
学习目标
理解语句、标识符和关键字
使用变量存储信息
使用基元数据类型
使用+和-以及其他算术操作符
变量递增递减
第1章讲述了如何用Microsoft Visual Studio 2017编程环境生成和运行控制台应用程序和图形应用程序。本章学习Microsoft Visual C#的语法和语义元素,包括语句、关键字和标识符;学习C#语言内建的基元数据类型以及每种类型所容纳的值的特征;学习如何声明和使用局部变量(只存在于方法或其他小节内的变量);学习C#算术操作符;学习如何使用操作符来处理值;还将学习如何控制含有两个或更多操作符的表达式。
2.1 理 解 语 句
语句是执行操作的命令,如计算值,存储结果,或者向用户显示消息。我们组合各种语句来创建方法。第3章将更详细地介绍方法。目前暂时将方法视为具名的语句序列。第1章介绍过的Main就是方法的例子。
C#语句遵循良好定义的规则集。这些规则描述语句的格式和构成,统称为语法。对应地,描述语句做什么的规范统称为语义。最简单也是最重要的一个C#语法规则是:所有语句都必须以分号终止。例如,第1章演示过假如没有终止分号,以下语句不能编译:

Console.WriteLine("Hello World!");

提示 C#是“自由格式”语言,意味着所有空白(如空格字符或换行符)仅充当分隔符,除此之外毫无意义。换言之,可采取自己喜欢的任意样式安排语句布局。简单的、统一的布局样式使程序更易阅读和理解。
学好语言的窍门是先了解其语法和语义,采用自然的、符合语言习惯的方式使用语言。这会使程序变得更易理解和修改。本书为很多非常重要的C#语句提供了实际的例子。
2.2 使用标识符
标识符是对程序中的各个元素进行标识的名称。这些元素包括命名空间、类、方法和变量(后面很快就会讲到变量)。在C#语言中选择标识符时必须遵循以下语法规则:
只能使用字母(大写和小写)、数字和下划线
标识符必须以字母或下划线开头
例如,result, _score,footballTeam和plan9是有效标识符;result%,footballTeam$和9plan不是。
重要提示 C#区分大小写。例如,footballTeam和FootballTeam是不同的标识符。
认识关键字
C#语言保留77个标识符供自己使用,程序员不可出于自己的目的而重用这些标识符。这些标识符称为关键字,每个关键字都有特定含义。关键字的例子包括class、namespace和using等。随着本书讨论的深入,将学习大多数关键字的含义。下面列出了这些关键字。

abstract do in protected true
as double int public try
base else interface readonly typeof
bool enum internal ref uint
break event is return ulong
byte explicit lock sbyte unchecked
case extern long sealed unsafe
catch false namespace short ushort
char finally new sizeof using
checked fixed null stackalloc virtual
class float object static void
const for operator string volatile
continue foreach out struct while
decimal goto override switch
default if params this
delegate implicit private throw


提示 C#在“代码和文本编辑器”窗口中,输入的关键字默认自动显示成蓝色。
C#还使用了以下标识符。这些不是C#保留关键字,可作为自己方法、变量和类的名称使用,但尽量避免这样做。

add global select
alias group set
ascending into value
async join var
await let when
descending nameof where
dynamic orderby yield
from partial
get remove


2.3 使 用 变 量
变量是容纳值的一个存储位置。可将变量想象成计算机内存中容纳临时信息的容器。程序每个变量在其使用范围内都必须有无歧义名称。我们用该名称引用变量容纳的值。例如,存储商品价格可创建cost变量,并将价格存储到该变量。以后引用cost变量,获取的值就是之前存储的价格。
2.3.1 命名变量
为变量采用恰当的命名规范来避免混淆。作为开发团队的一员,这一点尤其重要。统一的命名规范有助于减少bug。下面是一些常规建议。
不要以下划线开头。虽然在C#中合法,但限制了和其他语言(如Visual Basic)的代码的互操作性。
不要创建仅大小写不同的标识符。例如,不要同时使用myVariable和MyVariable变量,它们很易混淆。而且在Visual Basic这样不区分大小写的语言中,类的重用性也会受限。
名称以小写字母开头。
在包含多个单词的标识符中,从第二个单词起,每个单词都首字母大写(称为camelCase记号法)。
不要使用匈牙利记号法。Microsoft Visual C++开发人员熟悉这种记号法。不明白匈牙利记号法也不必深究。
例如,score,footballTeam,_score和FootballTeam都是有效变量名,但后两个不推荐。

前言/序言

前 言

Microsoft Visual C#是一种功能强大、使用简单的语言,主要面向需要使用Microsoft .NET Framework来创建应用程序的开发者。它在C++和Microsoft Visual Basic的基础上去芜存菁,最终形成一种更加清晰、更富有逻辑的语言。

C# 1.0于2001年亮相。

几年后随着C# 2.0和Visual Studio 2005的问世,语言新增了几个重要功能,包括泛型、迭代器和匿名方法等。

随同Visual Studio 2008发布的C# 3.0添加了更多功能,包括扩展方法、Lambda表达式以及语言集成查询(Language Integrated Query,LINQ)。

2010年发布的C# 4.0继续增强,改善了与其他语言和技术的互操作性。新增功能包括具名参数和可选参数,另外还有dynamic类型(指示语言的“运行时”对对象进行晚期绑定)。在随C# 4.0发布的.NET Framework中,最重要的新功能就是“任务并行库”(Task Parallel Library,TPL)。可用TPL构建具有良好伸缩性的应用程序,从而快速和简单地发挥出多核处理器的潜力。

C# 5.0通过async方法修饰符和await操作符提供了对异步任务的原生支持。

C# 6.0是一次增量式升级,提供了许多有利于简化开发的功能,包括字符串插值(再也不需要String.Format了),改进的属性实现方式,表达式主体方法等。

C# 7.0进一步增强,提高了生产力并移除了C#一些不合时宜的设计。例如,现在属性访问器方法可作为表达式主体成员实现,方法支持以元组形式返回多个值,简化了out参数的用法,switch语句开始支持模式和类型匹配。还有其他许多更新,本书将一一阐述。

虽然Windows 10是运行C#应用程序最重要的平台,但现在也可通过.NET Core运行时在其他操作系统(包括Linux)上运行用C#写的代码。这使程序更容易在多种环境中运行。另外,Windows 10支持高度交互性的应用程序,它们可以进行数据共享和协作,还可以连接云服务。Windows 10最引人注目的是对UWP(Universal Windows Platform,通用Windows平台)应用的支持。这种应用设计在任何Windows 10设备上运行,无论是全功能的桌面系统、笔记本和平板,还是资源有限的智能手机和物联网设备。熟悉C#的核心功能后,下一步就是掌握如何开发能在所有这些平台上运行的应用。

语音激活是另一个值得关注的功能。Windows 10提供了Cortana(小娜)个人语音数字助理。可将自己的应用和Cortana集成来实现数据搜索和其他操作。虽然自然语音分析天生就很复杂,但让应用响应Cortana的请求却令人惊讶地简单。详情将在第26章描述。另外,从大规模企业应用程序到手机上运行的移动应用,云已成为许多系统架构的重要元素,本书最后一章会讲解如何开发基于云的应用。

Visual Studio 2017开发环境使这些强大功能变得容易使用,大量新向导和增强显著提高了开发效率。写作这本书给我带来了许多乐趣,希望你的阅读亦是如此!

下面列出和本书《Visual C#从入门到精通》第8版相比的主要变化(从译者的角度整理)。

2.3.3节“指定数值”,强调了显式指定值的类型的重要性。

3.1.5节“从方法返回多个值”,引入元组概念,从一个方法返回多个值。这章开始引入表达式主体方法,注意虽然都用=>操作符,但表达式主体方法和Lambda表达式有本质的不同。相当于=>的两个重载。

3.3.2节“嵌套方法”,本节提到的Factorial解决方案在学生文件中不可用。解决方案是用空白的DailyRate解决方案。

6.2.4节“筛选异常”,catch (...) when (...) {}。

6.4.1节“使用throw表达式”,用?:操作符简化抛出异常的代码。例如: string name = nameField.Text != "" ? nameField.Text : throw new Exception("未输入值");。不这样写,就要写一长串if…else语句。

7.4.3节“解构对象”,讲的是和元组配合使用。Deconstruct方法和out参数相配合,向元组中的变量赋值。不要把解构器和析构器弄混了。

8.2.1节“空条件操作符”,在对象上调用其方法时,用?.操作符判断对象是否为null。例如,A?.B?.C?.Do(E); 。其中,ABC任何一个求值为null,E都不会执行(短路)。

8.8.3节“复习switch语句”用switch代替一系列if (expr is type varname)...

else if(expr is type varname)...语句,从而简化空引用检查(不用is操作符)。case还能加when表达式来进一步限制条件。

10.1.11节“访问包含值类型的数组”,讲的是一些传统数组处理方法,在数组元素从引用类型修改成值类型后会出错,因为现在返回拷贝而非引用。解决方案是用ref关键字返回引用。例如,ref type method(...){... return ref 数组元素}。注意两个地方添加了ref。调用也要改,变成ref type variable = ref method(...)。

第15章的简单属性大量改为使用表达式主体方法。例如,get { return this._x; }改为get => this._x;。

第16章介绍了新的常量表达式,可以直接将二进制赋给变量了:uint binData = 0b01111;。0b0是二进制,0x0是十六进制。眼睛看不过来还可以加下划线(编译器会忽略),例如uint moreHexData = 0x0_F0_5A_CC_0F;。

21.2.6节的练习和原书不符,解决方案并没有一开始就集成BinaryTree项目,需自己添加。

24.1.6节“任务、内存分配和效率”解释了如何用Cache-Aside设计模式把异步方法设计成大多数时候都同步执行,耗时的、经常重复的计算的结果放到缓存中。需要用NuGet包管理器下载System.Threading.Tasks.Extensions包。

第27章对有关Azure云的内容进行了全面修订,代码简化了不少。

本书面向的读者

本书假定你要使用Visual Studio 2017和.NET Framework 4.6.1学习基础的C#编程知识。学完本书后,会对C#有一个全面和透彻的理解,会用它开发响应灵敏、易于伸缩的Windows 10应用程序。

本书不面向的读者

本书面向刚开始用C#进行开发的人士,重点放在C#语言上面。本书不涉及企业级Windows应用程序的开发技术,比如ADO.NET、ASP.NET、Windows Communication Foundation或者Workflow Foundation。要了解这些方面的知识,可参考微软出版社的其他书籍。

本书的组织

全书分为四部分。

第I部分“Visual C#和Visual Studio 2017概述”介绍C#语言的核心语法,还演示了Visual Studio编程环境。

第II部分“理解C#对象模型”深入探讨如何用C#创建和管理新类型,如何管理这些类型引用的资源。

第III部分“用C#定义可扩展类型”全面讨论如何利用C#语言元素来构建能在多个应用程序中重用的类型。

第IV部分“用C#构建UWP应用”描述通用Windows 10编程模型,以及如何用C#为新模型构建交互式应用程序。

导读

本书帮助你掌握多个基本领域的开发技能。无论刚开始学习编程,还是从另一种语言(C、C++、Java或Visual Basic)转向C#,本书都能提供帮助。参考下表找到最佳起点。


读者类型 步骤

面向对象编程的新手 1. 按照“示例代码”一节的步骤安装练习文件

2. 顺序阅读第Ⅰ部分、第Ⅱ部分和第Ⅲ部分

3. 有一定经验后,如有兴趣,继续完成第Ⅳ部分的学习

熟悉C语言等 1. 按照“示例代码”一节的步骤安装练习文件

过程编程语言, 2. 略读前5章来获得对C#和Visual Studio 2017的大致印

但新涉足C# 象,重点阅读第6章~第22章

3. 阅读第Ⅳ部分了解如何构建可伸缩的Windows应用

从面向对象语言C++或 1. 按照“示例代码”一节的步骤安装练习文件

Java等迁移到C# 2. 略读前7章,获得对C#语言和Visual Studio 2017的大

致印象,重点阅读第8章~22章

3. 阅读第Ⅳ部分了解如何构建UWP应用

从Visual Basic迁移到C# 1. 按照“示例代码”一节的步骤安装练习文件

2. 顺序阅读第Ⅰ部分、第Ⅱ部分和第Ⅲ部分

3. UWP应用的开发请阅读第Ⅳ部分

4. 阅读每章末尾的“快速参考”小节,

了解C#和Visual Studio 2017特有的构造

做完所有练习后再将 1. 按目录查主题

本书用作为参考书 2. 阅读章末“快速参考”,查看语法和技术要点归纳



本书大多数章节都通过实例方便读者巩固刚学到的知识。无论感兴趣的是哪个主题,都注意先下载并安装好示例代码。

本书的约定和特色

本书通过一些约定来增强内容的可读性,以便于读者理解。

每个练习都用编号的操作步骤来完成。

“注意”等特色段落提供了成功完成一个步骤需要了解的额外信息或替代方案。

要求读者输入的文本加粗显示。

两个键名之间的加号(+)意味着必须同时按下这两个键。例如,“按组合键Alt+ Tab”意味着按住Alt键,再按Tab键。

描述菜单操作时,采用“文件”|“打开”的形式,意思是从“文件”菜单中选择“打开”命令。

系统需求

为了完成本书的练习,需准备以下硬件和软件:

 Windows 10家庭、专业、教育或企业版,版本1507或以上

 Visual Studio 2017社区、专业或企业版的最新版本。安装时最起码选择以下工作负载:

- 通用Windows平台开发

- .NET桌面开发

- ASP.NET和Web开发

- Azure开发

- 数据存储和处理

- .NET Core跨平台开发

 1.8 GHz或更快的处理器(推荐双核或以上)

 2 GB RAM(推荐4GB,在虚拟机中运行再加512 MB)

 10 GB可用硬盘空间

 1024 × 768或更高分辨率显卡

 下载软件和示例代码需要Internet连接

取决于Windows配置,可能需要以管理员身份安装和配置Visual Studio 2017。

电脑上要启用开发人员模式以创建和运行UWP应用。详情参考“启用设备进行开发”(https://msdn.microsoft.com/library/windows/apps/dn706236.aspx)。

示例代码

本书大多数章节都包含互动练习供练手。从以下网址下载示例代码(包括练习完成前后两种格式):

http://aka.ms/VisCSharp9e/downloads

http://bookzhou.com

安装示例代码很简单,将下载的zip文件解压到“文档”文件夹即可。

使用示例代码

本书每一章都解释了在什么时候以及如何使用练习文件。需要练习文件时,书中会给出相应的指示,帮助你打开正确文件。

重要提示 许多例子都依赖示例代码没有包含的NuGet包。这些包在首次生成项目时自动下载(有的需手动搜索并安装)。如首次打开一个项目且不生成,Visual Studio可能报告大量引用无法解析的错误。生成一次即可完成引用的解析,错误将消失。

下表总结了本书用到的所有Visual Studio 2017项目和解决方案,它们以文件夹的形式进行分组以便查找。练习通常会为同一个项目提供初始文件和完成之后的版本。已完成的项目存储在带有- Complete后缀的文件夹中。

...