本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | Visual C#从入门到精通 |
作者: | (英)约翰·夏普(John Sharp)著 |
定价: | 139.0 |
出版社: | 清华大学出版社 |
出版日期: | 2019-01-01 |
ISBN: | 9787302516248 |
印次: | |
版次: | |
装帧: | |
开本: | 16开 |
内容简介 | |
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#编程技术。 |
目录 | |
目??? 录 第I部分? Visual C#和Visual Studio 2017概述 第1章? 欢入C#编程?? ?3 1.1? 开始在Visual Studio 2017环境中编程?? ?3 1.2? 写第一个程序?? ?6 1.3? 使用命名空间?? ?11 1.4? 创建图形应用程序?? ?13 1.4.1? 探索通用Window台应用程序?? ?20 1.4.2? 向图形应用程序添加代码?? ?23 1.4.3? 其他类型的图形应用程序?? ?25 小结?? ?26 第1章快速参考?? ?26 第2章? 使用变量、作符和表达式?? ?27 2.1? 理解语句?? ?27 2.2? 使用标识符?? ?27 认识关键字?? ?28 2.3? 使用变量?? ?29 2.3.1? 命名变量?? ?29 2.3.2? 声明变量?? ?29 2.3.3? 数值?? ?30 2.4? 使用基元数据类型?? ?31 2.4.1? 未赋值的局部变量?? ?31 2.4.2? 显示基元数据类型的值?? ?32 2.5? 使用算术作符?? ?37 2.5.1? 作符和类型?? ?37 2.5.2? 深入了解算术作符?? ?38 2.5.3? 控制优先级?? ?43 2.5.4? 使用结合性对表达行求值?? ?43 2.5.5? 结合性和赋值作符?? ?44 2.6? 变量递增和递减?? ?45 2.7? 声明隐式类型的局部变量?? ?46 小结?? ?47 第2章快速参考?? ?47 第3章? 方法和作用域?? ?49 3.1? 创建方法?? ?49 3.1.1? 声明方法?? ?49 3.1.2? 从方法返回数据?? ?50 3.1.3? 使用表达式主体方法?? ?51 3.1.4? 调用方法?? ?52 3.1.5? 从方法返回多个值?? ?54 3.2? 使用作用域?? ?57 3.2.1? 定义局部作用域?? ?57 3.2.2? 定义类作用域?? ?58 3.2.3? 重载方法?? ?58 3.3? 编写方法?? ?59 3.3.1 重构代码?? ?63 3.3.2 嵌套方法?? ?66 3.4? 使用可选参数和具名参数?? ?69 3.4.1? 定义可选参数?? ?70 3.4.2? 传递具名参数?? ?70 3.4.3? 消除可选参数和具名参数的歧义?? ?71 小结?? ?75 第3章快速参考?? ?76 第4章? 使用判断语句?? ?78 4.1? 声明布尔变量?? ?78 4.2? 使用布尔作符?? ?78 4.2.1? 理解相等和关系作符?? ?79 4.2.2? 理解条件逻辑作符?? ?79 4.2.3? 短路求值?? ?80 4.2.4? 作符的优先级和结合性总结?? ?80 4.3? 使用if语句做出判断?? ?81 4.3.1? 理解if语句的语法?? ?81 4.3.2? 使用代码块分组语句?? ?82 4.3.3? 嵌套if语句?? ?83 4.4? 使用switch语句?? ?88 4.4.1? 理解switch语句的语法?? ?89 4.4.2? 遵守switch语句的规则?? ?90 小结?? ?93 第4章快速参考?? ?94 第5章? 使用复合赋值和循环语句?? ?95 5.1? 使用复合赋值作符?? ?95 5.2? 编写while语句?? ?96 5.3? 编写for语句?? ?100 5.4? 编写do语句?? ?102 小结?? ?109 第5章快速参考?? ?109 第6章? 管理错误和异常?? ?111 6.1? 处理错误?? ?111 6.2? 尝试执行代码和捕捉异常?? ?111 6.2.1? 未处理的异常?? ?113 6.2.2? 使用多个catch处理程序?? ?114 6.2.3? 捕捉多个异常?? ?114 6.2.4? 筛选异常?? ?115 6.2.4? 传播异常?? ?119 6.3? 使用checked和unchecked整数运算?? ?121 6.3.1? 编写checked语句?? ?121 6.3.2? 编写checked表达式?? ?122 6.4? 抛出异常?? ?124 6.5? 使用finally块?? ?129 小结?? ?130 第6章快速参考?? ?131 第II部分? 理解C#对象模型 第7章? 创建并管理类和对象?? ?135 7.1? 理解分类?? ?135 7.2? 封装的目的?? ?135 7.3? 定义并使用类?? ?136 7.4? 控制可访问性?? ?137 7.4.1? 使用构造器?? ?138 7.4.2? 重载构造器?? ?139 7.4.3? 解构对象?? ?146 7.5? 理解静态方法和数据?? ?147 7.5.1? 创建共享字段?? ?148 7.5.2? 使用const关键字创建静态字段?? ?149 7.5.3? 理解静态类?? ?149 7.5.4? 静态using语句?? ?149 7.5.5? 匿名类?? ?152 小结?? ?153 第7章快速参考?? ?153 第8章? 理解值和引用?? ?155 8.1? 值类型的变量和类?? ?155 8.2? 理解null值和可空类型?? ?160 8.2.1? 空条件作符?? ?161 8.2.2? 使用可空类型?? ?162 8.2.3? 理解可空类型的属性?? ?163 8.3? 使用ref和out参数?? ?163 8.3.1? 创建ref参数?? ?164 8.3.2? 创建out参数?? ?165 8.4? 计算机内存的组织方式?? ?167 8.5? System.Object类?? ?169 8.6? 装箱?? ?169 8.7? 拆箱?? ?170 8.8? 数据的转型?? ?171 8.8.1? is作符?? ?171 8.8.2? as作符?? ?172 8.8.3? 复itch语句?? ?172 小结?? ?175 第8章快速参考?? ?175 第9章? 使用枚举和结构创建值类型?? ?177 9.1? 使用枚举?? ?177 9.1.1? 声明枚举?? ?177 9.1.2? 使用枚举?? ?177 9.1.3? 选择枚举字面值?? ?178 9.1.4? 选择枚举的基础类型?? ?179 9.2? 使用结构?? ?181 9.2.1? 声明结构?? ?182 9.2.2? 理解结构和类的区别?? ?183 9.2.3? 声明结构变量?? ?185 9.2.4? 理解结构的初始化?? ?185 9.2.5? 结构变量?? ?189 小结?? ?193 第9章快速参考?? ?193 第10章? 使用数组?? ?195 10.1? 声明和创建数组?? ?195 10.1.1? 声明数组变量?? ?195 10.1.2? 创建数组实例?? ?196 10.1.3? 填充和使用数组?? ?196 10.1.4? 创建隐式类型的数组?? ?197 10.1.5? 访问单独的数组元素?? ?198 10.1.6? 遍历数组?? ?199 10.1.7? 数组作为方法参数和返回值传递?? ?200 10.1.8? 数组?? ?201 10.1.9? 使用多维数组?? ?202 10.1.10? 创建交错数组?? ?203 10.1.11? 访含值类型的数组?? ?212 小结?? ?215 第10章快速参考?? ?215 第11章? 理解参数数组?? ?217 11.1? 回顾重载?? ?217 11.2? 使用数组参数?? ?218 11.2.1? 声明参数数组?? ?219 11.2.2? 使用paramject[]?? ?220 11.2.3? 使用参数数组?? ?221 11.3? 比较参数数组和可选参数?? ?224 小结?? ?226 第11章快速参考?? ?227 第12章? 使用继承?? ?228 12.1? 什么是继承?? ?228 12.2? 使用继承?? ?229 12.2.1? 复stem.Object类?? ?230 12.2.2? 调用基类构造器?? ?231 12.2.3? 类的赋值?? ?232 12.2.4? 声明新方法?? ?233 12.2.5? 声明虚方法?? ?234 12.2.6? 声明重写方法?? ?235 12.2.7? 理解受保护的访问?? ?238 12.3? 创建扩展方法?? ?243 小结?? ?247 第12章快速参考?? ?247 第13章? 创建接口和定义抽象类?? ?249 13.1? 理解接口?? ?249 13.1.1? 定义接口?? ?250 13.1.2? 实现接口?? ?250 13.1.3? 通过接口引用类?? ?252 13.1.4? 使用多个接口?? ?252 13.1.5? 显式实现接口?? ?253 13.1.6? 接口的限制?? ?254 13.1.7? 定义和使用接口?? ?255 13.2? 抽象类?? ?263 13.3? 密封类?? ?265 13.3.1? 密封方法?? ?265 13.3.2? 实现并使用抽象类?? ?266 小结?? ?271 第13章快速参考?? ?272 第14章? 使用垃圾回收和资源管理?? ?273 14.1? 对象生存期?? ?273 14.1.1? 编写析构器?? ?274 14.1.2? 为什么要使用垃圾回收器?? ?275 14.1.3? 垃圾回收器的工作原理?? ?277 14.1.4? 慎用析构器?? ?277 14.2? 资源管理?? ?278 14.2.1? 资源清理方法?? ?278 14.2.2? 异常的资源清理?? ?279 14.2.3? using语句和IDispole 接口?? ?279 14.2.4? 从析构器中调用Dispose 方法?? ?281 14.3? 实现异常的资源清理?? ?283 小结?? ?289 第14章快速参考?? ?290 第III部分? 用C#定义可扩展类型 第15章? 实现属性以访问字段?? ?295 15.1? 使用方法实现封装?? ?295 15.2? 什么是属性?? ?297 15.2.1? 使用属性?? ?299 15.2.2? 只读属性?? ?300 15.2.3? 只写属性?? ?300 15.2.4? 属性的可访问性?? ?301 15.3? 理解属性的局限性?? ?301 15.4? 在接口中声明属性?? ?303 15.5? 生成自动属性?? ?308 15.6? 用属性初始化对象?? ?310 小结?? ?314 第15章快速参考?? ?314 第16章? 处理制数据和使用索引器?? ?317 16.1? 什么是索引器?? ?317 16.1.1? 存储制值?? ?317 16.1.2? 显示制值?? ?318 16.1.3? 纵制值?? ?318 16.1.4? 用索引器解决相同问题?? ?320 16.1.5? 理解索引器的访问器?? ?322 16.1.6? 对比索引器和数组?? ?322 16.2? 接口中的索引器?? ?324 16.3? 在Windows应用程序中使用索引器?? ?325 小结?? ?331 第16章快速参考?? ?331 第17章? 泛型概述?? ?333 17.1? object的问题?? ?333 17.2? 泛型解决方案?? ?336 17.2.1? 对比泛型类和常规类?? ?338 17.2.2? 泛型和约束?? ?339 17.3? 创建泛型类?? ?339 17.3.1? 二叉树理论?? ?339 17.3.2? 使用泛型构造二叉树类?? ?342 17.4? 创建泛型方法?? ?350 17.5? 可变性和泛型接口?? ?353 17.5.1? 协变接口?? ?354 17.5.2? 逆变接口?? ?356 小结?? ?357 第17章快速参考?? ?358 第18章? 使用集合?? ?360 18.1? 什么是集合类?? ?360 18.1.1? List 18.1.2? LinkedList 18.1.3? Queue 18.1.4? Stack 18.1.5? Dictionary 18.1.6? SortedList 18.1.7? HashSet 18.2? 使用集合初始化器?? ?371 18.3? Find方法、谓词和Lambda表达式?? ?372 18.4? 比较数组和集合?? ?375 小结?? ?379 第18章快速参考?? ?379 第19章? 枚举集合?? ?381 19.1? 枚举集合中的元素?? ?381 19.1.1? 手动实现枚举器?? ?382 19.1.2? 实现IEnumerable接口?? ?386 19.2? 用迭代器实现枚举器?? ?388 19.2.1? 一个简单的迭代器?? ?388 19.2.2? 使用迭代器为Tree 小结?? ?392 第19章快速参考?? ?393 第20章? 分离应用程序逻辑并处理事件?? ?394 20.1? 理解委托?? ?394 20.1.1? .NET Framework类库的委托例子?? ?395 20.1.2? 自动化工厂的例子?? ?397 20.1.3? 不用委托实现工厂控制系统?? ?397 20.1.4? 用委托实现工厂控制系统?? ?398 20.1.5? 声明和使用委托?? ?400 20.2? Lambda表达式和委托?? ?407 20.3? 启用事件通知?? ?408 20.3.1? 声明事件?? ?409 20.3.2? 订阅事件?? ?410 20.3.3? 取消订阅事件?? ?410 20.3.4? 引发事件?? ?410 20.4? 理解用户界面事件?? ?411 小结?? ?418 第20章快速参考?? ?418 第21章? 使用查询表达式来查询内存中的数据?? ?421 21.1? 什么是LINQ?? ?421 21.2? 在C#应用程序中使用LINQ?? ?422 21.2.1? 选择数据?? ?424 21.2.2? 筛选数据?? ?426 21.2.3? 排序、分组和聚合数据?? ?427 21.2.4? 联接数据?? ?429 21.2.5? 使用查询作符?? ?430 21.2.6? 查询Tree 21.2.7? LINQ和推迟求值?? ?437 小结?? ?440 第21章快速参考?? ?441 第22章? 作符重载?? ?443 22.1? 理解作符?? ?443 22.1.1? 作符的限制?? ?443 22.1.2? 重载的作符?? ?444 22.1.3? 创建对称作符?? ?445 22.2? 理解复合赋值?? ?447 22.3? 声明递增和递减作符?? ?447 22.4? 比较结构和类中的作符?? ?448 22.5? 定义成对的作符?? ?449 22.6? 实现作符?? ?449 22.7? 理解转换作符?? ?455 22.7.1? 提供内建转换?? ?455 22.7.2? 实现用户自定义的转换作符?? ?456 22.7.3? 再论创建对称作符?? ?457 22.7.4? 添加隐式转换作符?? ?457 小结?? ?459 第22章快速参考?? ?460 第IV部分? 用C#构建UWP应用 第23章? 使用任务提高吞吐量?? ?463 23.1? 使用并行处理执行多任务处理?? ?463 23.2? 用.NET Framework实现多任务处理?? ?464 23.2.1? 任务、线程和线程池?? ?465 23.2.2? 创建、运行和控制任务?? ?466 23.2.3? 使用Task类实现并行 处理?? ?469 23.2.4? 使用Parallel类对任务行抽象?? ?478 23.2.5? 什么时候不要使用 Parallel类?? ?482 23.3? 取消任务和处理异常?? ?484 23.3.1? 协作式取消的原理?? ?485 23.3.2? 为Canceled和Faulted任务使用延续?? ?496 小结?? ?496 第23章快速参考?? ?497 第24章? 通过异步作提高响应速度?? ?500 24.1? 实现异步方法?? ?501 24.1.1? 定义异步方法:问题?? ?501 24.1.2? 定义异步方法:解决方案?? ?503 24.1.3? 定义返回值的异步方法?? ?508 24.1.4? 异步方法注意事项?? ?509 24.1.5? 异步方法和Windows Runtime API?? ?511 24.1.6? 任务、内存分配和效率?? ?512 24.2? 用PLIN行并行数据访问?? ?514 24.2.1? 用PLINQ增强遍历集合时的性能?? ?515 24.2.2? 取消PLINQ查询?? ?519 24.3? 同步对数据的并发访问?? ?519 24.3.1? 锁定数据?? ?522 24.3.2? 用于协调任务的同步基元?? ?523 24.3.3? 取消同步?? ?525 24.3.4? 并发集合类?? ?525 24.3.5? 使用并发集合和锁实现线程的数据访问?? ?526 小结?? ?535 第24章快速参考?? ?535 第25章? 实现UWP应用的用户界面?? ?538 25.1? UWP应用的特点?? ?539 25.2? 使用空白模板构建UWP应用?? ?541 25.2.1? 实现可伸缩用户界面?? ?543 25.2.2? 向UI应用样式?? ?568 小结?? ?576 第25章快速参考?? ?577 第26章? 在UWP应用中显示和搜索数据?? ?578 26.1? 实现Model-View-ViewModel模式?? ?578 26.1.1? 通过数据绑定显示数据?? ?579 26.1.2? 通过数据绑定修改数据?? ?584 26.1.3? 为ComboBox控件使用数据绑定?? ?588 26.1.4? 创建ViewModel?? ?590 26.1.5? 向ViewModel添加命令?? ?594 26.2? 用Cortana搜索数据?? ?603 小结?? ?616 第26章快速参考?? ?617 第27章? 在UWP应用中访问远程数据库?? ?618 27.1? 从数据库获取数据?? ?618 27.1.1? 创建实体模型?? ?623 27.1.2? 创建和使用REST Web服务?? ?631 27.2? 通过REST Web服务插入、更新和删除数据?? ?644 小结?? ?660 第27章快速参考?? ?661 译者后记?? ?662 |
编辑推荐 | |
通过《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服务 |