VISUAL C#从入门到精通(第9版)

本书特色

[

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

]

内容简介

[

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

]

作者简介

[

作者简介
约翰 . 夏普(John Sharp)

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

译者简介

周 靖作者简介
约翰 . 夏普(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#编程世界 31.1 开始在Visual Studio 2017环境中编程 31.2 写**个程序 61.3 使用命名空间 111.4 创建图形应用程序 131.4.1 探索通用Windows平台应用程序 201.4.2 向图形应用程序添加代码 231.4.3 其他类型的图形应用程序 25小结 26第1章快速参考 26第2章 使用变量、操作符和表达式 272.1 理解语句 272.2 使用标识符 27认识关键字 282.3 使用变量 292.3.1 命名变量 292.3.2 声明变量 292.3.3 指定数值 302.4 使用基元数据类型 312.4.1 未赋值的局部变量 312.4.2 显示基元数据类型的值 322.5 使用算术操作符 372.5.1 操作符和类型 372.5.2 深入了解算术操作符 382.5.3 控制优先级 432.5.4 使用结合性对表达式进行求值 432.5.5 结合性和赋值操作符 442.6 变量递增和递减 452.7 声明隐式类型的局部变量 46小结 47第2章快速参考 47第3章 方法和作用域 493.1 创建方法 493.1.1 声明方法 493.1.2 从方法返回数据 503.1.3 使用表达式主体方法 513.1.4 调用方法 523.1.5 从方法返回多个值 543.2 使用作用域 573.2.1 定义局部作用域 573.2.2 定义类作用域 583.2.3 重载方法 583.3 编写方法 593.3.1 重构代码 633.3.2 嵌套方法 663.4 使用可选参数和具名参数 693.4.1 定义可选参数 703.4.2 传递具名参数 703.4.3 消除可选参数和具名参数的歧义 71小结 75第3章快速参考 76第4章 使用判断语句 784.1 声明布尔变量 784.2 使用布尔操作符 784.2.1 理解相等和关系操作符 794.2.2 理解条件逻辑操作符 794.2.3 短路求值 804.2.4 操作符的优先级和结合性总结 804.3 使用if语句做出判断 814.3.1 理解if语句的语法 814.3.2 使用代码块分组语句 824.3.3 嵌套if语句 834.4 使用switch语句 884.4.1 理解switch语句的语法 894.4.2 遵守switch语句的规则 90小结 93第4章快速参考 94第5章 使用复合赋值和循环语句 955.1 使用复合赋值操作符 955.2 编写while语句 965.3 编写for语句 1005.4 编写do语句 102小结 109第5章快速参考 109第6章 管理错误和异常 1116.1 处理错误 1116.2 尝试执行代码和捕捉异常 1116.2.1 未处理的异常 1136.2.2 使用多个catch处理程序 1146.2.3 捕捉多个异常 1146.2.4 筛选异常 1156.2.4 传播异常 1196.3 使用checked和unchecked整数运算 1216.3.1 编写checked语句 1216.3.2 编写checked表达式 1226.4 抛出异常 1246.5 使用finally块 129小结 130第6章快速参考 131第II部分 理解C#对象模型第7章 创建并管理类和对象 1357.1 理解分类 1357.2 封装的目的 1357.3 定义并使用类 1367.4 控制可访问性 1377.4.1 使用构造器 1387.4.2 重载构造器 1397.4.3 解构对象 1467.5 理解静态方法和数据 1477.5.1 创建共享字段 1487.5.2 使用const关键字创建静态字段 1497.5.3 理解静态类 1497.5.4 静态using语句 1497.5.5 匿名类 152小结 153第7章快速参考 153第8章 理解值和引用 1558.1 复制值类型的变量和类 1558.2 理解null值和可空类型 1608.2.1 空条件操作符 1618.2.2 使用可空类型 1628.2.3 理解可空类型的属性 1638.3 使用ref和out参数 1638.3.1 创建ref参数 1648.3.2 创建out参数 1658.4 计算机内存的组织方式 1678.5 System.Object类 1698.6 装箱 1698.7 拆箱 1708.8 数据的安全转型 1718.8.1 is操作符 1718.8.2 as操作符 1728.8.3 复习switch语句 172小结 175第8章快速参考 175第9章 使用枚举和结构创建值类型 1779.1 使用枚举 1779.1.1 声明枚举 1779.1.2 使用枚举 1779.1.3 选择枚举字面值 1789.1.4 选择枚举的基础类型 1799.2 使用结构 1819.2.1 声明结构 1829.2.2 理解结构和类的区别 1839.2.3 声明结构变量 1859.2.4 理解结构的初始化 1859.2.5 复制结构变量 189小结 193第9章快速参考 193第10章 使用数组 19510.1 声明和创建数组 19510.1.1 声明数组变量 19510.1.2 创建数组实例 19610.1.3 填充和使用数组 19610.1.4 创建隐式类型的数组 19710.1.5 访问单独的数组元素 19810.1.6 遍历数组 19910.1.7 数组作为方法参数和返回值传递 20010.1.8 复制数组 20110.1.9 使用多维数组 20210.1.10 创建交错数组 20310.1.11 访问包含值类型的数组 212小结 215第10章快速参考 215第11章 理解参数数组 21711.1 回顾重载 21711.2 使用数组参数 21811.2.1 声明参数数组 21911.2.2 使用params object[] 22011.2.3 使用参数数组 22111.3 比较参数数组和可选参数 224小结 226第11章快速参考 227第12章 使用继承 22812.1 什么是继承 22812.2 使用继承 22912.2.1 复习System.Object类 23012.2.2 调用基类构造器 23112.2.3 类的赋值 23212.2.4 声明新方法 23312.2.5 声明虚方法 23412.2.6 声明重写方法 23512.2.7 理解受保护的访问 23812.3 创建扩展方法 243小结 247第12章快速参考 247第13章 创建接口和定义抽象类 24913.1 理解接口 24913.1.1 定义接口 25013.1.2 实现接口 25013.1.3 通过接口引用类 25213.1.4 使用多个接口 25213.1.5 显式实现接口 25313.1.6 接口的限制 25413.1.7 定义和使用接口 25513.2 抽象类 26313.3 密封类 26513.3.1 密封方法 26513.3.2 实现并使用抽象类 266小结 271第13章快速参考 272第14章 使用垃圾回收和资源管理 27314.1 对象生存期 27314.1.1 编写析构器 27414.1.2 为什么要使用垃圾回收器 27514.1.3 垃圾回收器的工作原理 27714.1.4 慎用析构器 27714.2 资源管理 27814.2.1 资源清理方法 27814.2.2 异常安全的资源清理 27914.2.3 using语句和IDisposable 接口 27914.2.4 从析构器中调用Dispose 方法 28114.3 实现异常安全的资源清理 283小结 289第14章快速参考 290第III部分 用C#定义可扩展类型第15章 实现属性以访问字段 29515.1 使用方法实现封装 29515.2 什么是属性 29715.2.1 使用属性 29915.2.2 只读属性 30015.2.3 只写属性 30015.2.4 属性的可访问性 30115.3 理解属性的局限性 30115.4 在接口中声明属性 30315.5 生成自动属性 30815.6 用属性初始化对象 310小结 314第15章快速参考 314第16章 处理二进制数据和使用索引器 31716.1 什么是索引器 31716.1.1 存储二进制值 31716.1.2 显示二进制值 31816.1.3 操纵二进制值 31816.1.4 用索引器解决相同问题 32016.1.5 理解索引器的访问器 32216.1.6 对比索引器和数组 32216.2 接口中的索引器 32416.3 在Windows应用程序中使用索引器 325小结 331第16章快速参考 331第17章 泛型概述 33317.1 object的问题 33317.2 泛型解决方案 33617.2.1 对比泛型类和常规类 33817.2.2 泛型和约束 33917.3 创建泛型类 33917.3.1 二叉树理论 33917.3.2 使用泛型构造二叉树类 34217.4 创建泛型方法 35017.5 可变性和泛型接口 35317.5.1 协变接口 35417.5.2 逆变接口 356小结 357第17章快速参考 358第18章 使用集合 36018.1 什么是集合类 36018.1.1 List集合类 36118.1.2 LinkedList集合类 36318.1.3 Queue集合类 36518.1.4 Stack集合类 36618.1.5 Dictionary 集合类 36718.1.6 SortedList 集合类 36818.1.7 HashSet集合类 36918.2 使用集合初始化器 37118.3 Find方法、谓词和Lambda表达式 37218.4 比较数组和集合 375小结 379第18章快速参考 379第19章 枚举集合 38119.1 枚举集合中的元素 38119.1.1 手动实现枚举器 38219.1.2 实现IEnumerable接口 38619.2 用迭代器实现枚举器 38819.2.1 一个简单的迭代器 38819.2.2 使用迭代器为Tree 类定义枚举器 390小结 392第19章快速参考 393第20章 分离应用程序逻辑并处理事件 39420.1 理解委托 39420.1.1 .NET Framework类库的委托例子 39520.1.2 自动化工厂的例子 39720.1.3 不用委托实现工厂控制系统 39720.1.4 用委托实现工厂控制系统 39820.1.5 声明和使用委托 40020.2 Lambda表达式和委托 40720.3 启用事件通知 40820.3.1 声明事件 40920.3.2 订阅事件 41020.3.3 取消订阅事件 41020.3.4 引发事件 41020.4 理解用户界面事件 411小结 418第20章快速参考 418第21章 使用查询表达式来查询内存中的数据 42121.1 什么是LINQ 42121.2 在C#应用程序中使用LINQ 42221.2.1 选择数据 42421.2.2 筛选数据 42621.2.3 排序、分组和聚合数据 42721.2.4 联接数据 42921.2.5 使用查询操作符 43021.2.6 查询Tree对象中的数据 43221.2.7 LINQ和推迟求值 437小结 440第21章快速参考 441第22章 操作符重载 44322.1 理解操作符 44322.1.1 操作符的限制 44322.1.2 重载的操作符 44422.1.3 创建对称操作符 44522.2 理解复合赋值 44722.3 声明递增和递减操作符 44722.4 比较结构和类中的操作符 44822.5 定义成对的操作符 44922.6 实现操作符 44922.7 理解转换操作符 45522.7.1 提供内建转换 45522.7.2 实现用户自定义的转换操作符 45622.7.3 再论创建对称操作符 45722.7.4 添加隐式转换操作符 457小结 459第22章快速参考 460第IV部分 用C#构建UWP应用第23章 使用任务提高吞吐量 46323.1 使用并行处理执行多任务处理 46323.2 用.NET Framework实现多任务处理 46423.2.1 任务、线程和线程池 46523.2.2 创建、运行和控制任务 46623.2.3 使用Task类实现并行 处理 46923.2.4 使用Parallel类对任务 进行抽象 47823.2.5 什么时候不要使用 Parallel类 48223.3 取消任务和处理异常 48423.3.1 协作式取消的原理 48523.3.2 为Canceled和Faulted任务使用延续 496小结 496第23章快速参考 497第24章 通过异步操作提高响应速度 50024.1 实现异步方法 50124.1.1 定义异步方法:问题 50124.1.2 定义异步方法:解决方案 50324.1.3 定义返回值的异步方法 50824.1.4 异步方法注意事项 50924.1.5 异步方法和Windows Runtime API 51124.1.6 任务、内存分配和效率 51224.2 用PLINQ进行并行数据访问 51424.2.1 用PLINQ增强遍历集合时的性能 51524.2.2 取消PLINQ查询 51924.3 同步对数据的并发访问 51924.3.1 锁定数据 52224.3.2 用于协调任务的同步基元 52324.3.3 取消同步 52524.3.4 并发集合类 52524.3.5 使用并发集合和锁实现线程安全的数据访问 526小结 535第24章快速参考 535第25章 实现UWP应用的用户界面 53825.1 UWP应用的特点 53925.2 使用空白模板构建UWP应用 54125.2.1 实现可伸缩用户界面 54325.2.2 向UI应用样式 568小结 576第25章快速参考 577第26章 在UWP应用中显示和搜索数据 57826.1 实现Model-View-ViewModel模式 57826.1.1 通过数据绑定显示数据 57926.1.2 通过数据绑定修改数据 58426.1.3 为ComboBox控件使用数据绑定 58826.1.4 创建ViewModel 59026.1.5 向ViewModel添加命令 59426.2 用Cortana搜索数据 603小结 616第26章快速参考 617第27章 在UWP应用中访问远程数据库 61827.1 从数据库获取数据 61827.1.1 创建实体模型 62327.1.2 创建和使用REST Web服务 63127.2 通过REST Web服务插入、更新和删除数据 644小结 660第27章快速参考 661译者后记 662

封面

VISUAL C#从入门到精通(第9版)

书名:VISUAL C#从入门到精通(第9版)

作者:[英]约翰·夏普(John Sharp)

页数:663

定价:¥139.0

出版社:清华大学出版社

出版日期:2018-11-01

ISBN:9787302516248

PDF电子书大小:141MB

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注