书馨卡帮你省薪
欢迎光临中图网 请 | 注册
> >>
C#高级编程(第10版)C#6&.NET Core 1.0

C#高级编程(第10版)C#6&.NET Core 1.0

出版社:清华大学出版社出版时间:2017-03-01
开本: 32开 页数: 1442
中 图 价:¥72.2(4.3折) 定价  ¥168.0 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口
有划线标记、光盘等附件不全详细品相说明>>
本类五星书更多>

C#高级编程(第10版)C#6&.NET Core 1.0 版权信息

C#高级编程(第10版)C#6&.NET Core 1.0 本书特色

提升C#和.NET技能的**参考资源Visual Studio 2015、ASP.NET Core 1.0和Universal Windows Platform的推出,为开发人员提供了使用C#创建应用程序的新方式。作为经典C#畅销书 ,本书涵盖了充分利用升级功能,积极简化工作流程所需的全部信息。本书循序渐进地讲解了Visual Studio 2015、.NET Core 1.0、ASP.NET MVC、Universal Windows Platform、WPF的*变化。每一章都提供了清晰的解释、下载的代码,并从专家的角度提供了有价值的视野。有本书在手,读者可以快速获得*的特性和功能。 主要内容 ◆ 通过.NET Core 和C# 6的增强功能,重新塑造了.NET平台,包括新增的.NET编译器平台 ◆ 展示了如何使用新的Visual Studio工具和用于ASP.NET Core 1.0、ASP.NET MVC、Web API、WPF和Universal Windows Platform的模板 ◆ 介绍允许应用程序在Windows、Linux和OS X上运行的.NET Core框架,还囊括了任务和并行编程,访问文件系统,以及网络堆栈 ◆ 演示了如何使用ASP.NET MVC 6和Web API创建Web应用程序,以及利用SignalR和WebHooks的推送通知 ◆ 介绍专业开发功能,例如单元测试,通过MVVM模式在WPF和Universal Windows Platform之间共享代码

C#高级编程(第10版)C#6&.NET Core 1.0 内容简介

对于开发人员,把C#语言和.NET描述为*重要的新技术一点都不夸张。.NET提供了一种环境。在这种环境中,可以开发在Windows上运行的几乎所有应用程序。在Windows上运行的是.NET Framework以前的版本,新版本.NET Core 1.0不仅在Windows上运行,还在Linux和Mac系统上运行。C#是专门用于.NET的编程语言。

C#高级编程(第10版)C#6&.NET Core 1.0 目录

第Ⅰ部分 C# 语 言 第1章 .NET应用程序体系结构 2 1.1 选择技术 2 1.2 回顾.NET历史 3 1.2.1 C# 1.0 —— 一种新语言 3 1.2.2 带有泛型的C# 2和.NET 2 5 1.2.3 .NET 3.0—— Windows Presentation Foundation 5 1.2.4 C# 3和.NET 3.5—— LINQ 5 1.2.5 C# 4和.NET 4.0—— dynamic 和TPL 6 1.2.6 C# 5和异步编程 6 1.2.7 C# 6和.NET Core 7 1.2.8 选择技术,继续前进 8 1.3 .NET 2015 8 1.3.1 .NET Framework 4.6 9 1.3.2 .NET Core 1.0 10 1.3.3 程序集 11 1.3.4 NuGet 包 12 1.3.5 公共语言运行库 13 1.3.6 .NET Native 14 1.3.7 Windows 运行库 14 1.4 Hello, World 15 1.5 用.NET 4.6编译 16 1.6 用.NET Core CLI编译 17 1.6.1 设置环境 18 1.6.2 构建应用程序 18 1.6.3 打包和发布应用程序 21 1.7 应用程序类型和技术 22 1.7.1 数据访问 22 1.7.2 Windows桌面应用程序 23 1.7.3 UWP 24 1.7.4 SOAP服务和WCF 24 1.7.5 Web服务和ASP.NET Web API 24 1.7.6 WebHooks和SignalR 25 1.7.7 Windows服务 25 1.7.8 Web应用程序 25 1.7.9 Microsoft Azure 26 1.8 开发工具 27 1.8.1 Visual Studio Community 27 1.8.2 Visual Studio Professional with MSDN 27 1.8.3 Visual Studio Enterprise with MSDN 27 1.8.4 Visual Studio Code 28 1.9 小结 28 第2章 核心C# 29 2.1 C#基础 30 2.2 用Visual Studio创建Hello, World! 30 2.2.1 创建解决方案 30 2.2.2 创建新项目 31 2.2.3 编译和运行程序 33 2.2.4 代码的详细介绍 35 2.3 变量 36 2.3.1 初始化变量 37 2.3.2 类型推断 38 2.3.3 变量的作用域 39 2.3.4 常量 41 2.4 预定义数据类型 41 2.4.1 值类型和引用类型 42 2.4.2 .NET类型 43 2.4.3 预定义的值类型 43 2.4.4 预定义的引用类型 46 2.5 程序流控制 48 2.5.1 条件语句 48 2.5.2 循环 51 2.5.3 跳转语句 55 2.6 枚举 55 2.7 名称空间 57 2.7.1 using语句 58 2.7.2 名称空间的别名 59 2.8 Main()方法 60 2.9 使用注释 61 2.9.1 源文件中的内部注释 61 2.9.2 XML文档 62 2.10 C#预处理器指令 63 2.10.1 #define和#undef 63 2.10.2 #if、#elif、#else和#endif 64 2.10.3 #warning和 # error 65 2.10.4 #region和#endregion 65 2.10.5 #line 65 2.10.6 #pragma 65 2.11 C#编程准则 66 2.11.1 关于标识符的规则 66 2.11.2 用法约定 67 2.12 小结 70 第3章 对象和类型 71 3.1 创建及使用类 72 3.2 类和结构 72 3.3 类 73 3.3.1 字段 73 3.3.2 属性 74 3.3.3 方法 76 3.3.4 构造函数 81 3.3.5 只读成员 85 3.3.6 只读字段 85 3.4 匿名类型 88 3.5 结构 89 3.5.1 结构是值类型 90 3.5.2 结构和继承 91 3.5.3 结构的构造函数 91 3.6 按值和按引用传递参数 91 3.6.1 ref参数 92 3.6.2 out参数 93 3.7 可空类型 94 3.8 枚举 95 3.9 部分类 97 3.10 扩展方法 99 3.11 Object类 100 3.12 小结 101 第4章 继承 102 4.1 继承 102 4.2 继承的类型 102 4.2.1 多重继承 103 4.2.2 结构和类 103 4.3 实现继承 103 4.3.1 虚方法 104 4.3.2 多态性 106 4.3.3 隐藏方法 107 4.3.4 调用方法的基类版本 108 4.3.5 抽象类和抽象方法 109 4.3.6 密封类和密封方法 110 4.3.7 派生类的构造函数 110 4.4 修饰符 112 4.4.1 访问修饰符 113 4.4.2 其他修饰符 113 4.5 接口 114 4.5.1 定义和实现接口 115 4.5.2 派生的接口 118 4.6 is和as运算符 120 4.7 小结 121 第5章 托管和非托管的资源 122 5.1 资源 122 5.2 后台内存管理 123 5.2.1 值数据类型 123 5.2.2 引用数据类型 125 5.2.3 垃圾回收 127 5.3 强引用和弱引用 129 5.4 处理非托管的资源 130 5.4.1 析构函数或终结器 130 5.4.2 IDisposable接口 131 5.4.3 using语句 132 5.4.4 实现IDisposable接口和 析构函数 133 5.4.5 IDisposable和终结器的 规则 134 5.5 不安全的代码 135 5.5.1 用指针直接访问内存 135 5.5.2 指针示例: PointerPlayground 143 5.5.3 使用指针优化性能 147 5.6 平台调用 150 5.7 小结 154 第6章 泛型 155 6.1 泛型概述 155 6.1.1 性能 156 6.1.2 类型安全 157 6.1.3 二进制代码的重用 157 6.1.4 代码的扩展 158 6.1.5 命名约定 158 6.2 创建泛型类 158 6.3 泛型类的功能 162 6.3.1 默认值 163 6.3.2 约束 163 6.3.3 继承 166 6.3.4 静态成员 167 6.4 泛型接口 167 6.4.1 协变和抗变 168 6.4.2 泛型接口的协变 169 6.4.3 泛型接口的抗变 170 6.5 泛型结构 171 6.6 泛型方法 173 6.6.1 泛型方法示例 174 6.6.2 带约束的泛型方法 175 6.6.3 带委托的泛型方法 176 6.6.4 泛型方法规范 176 6.7 小结 178 第7章 数组和元组 179 7.1 同一类型和不同类型的多个 对象 179 7.2 简单数组 180 7.2.1 数组的声明 180 7.2.2 数组的初始化 180 7.2.3 访问数组元素 181 7.2.4 使用引用类型 182 7.3 多维数组 183 7.4 锯齿数组 184 7.5 Array类 185 7.5.1 创建数组 185 7.5.2 复制数组 186 7.5.3 排序 187 7.6 数组作为参数 190 7.6.1 数组协变 190 7.6.2 ArraySegment 191 7.7 枚举 191 7.7.1 IEnumerator接口 192 7.7.2 foreach语句 192 7.7.3 yield语句 193 7.8 元组 197 7.9 结构比较 198 7.10 小结 201 第8章 运算符和类型强制转换 202 8.1 运算符和类型转换 202 8.2 运算符 203 8.2.1 运算符的简化操作 204 8.2.2 运算符的优先级和关联性 212 8.3 类型的安全性 213 8.3.1 类型转换 213 8.3.2 装箱和拆箱 217 8.4 比较对象的相等性 218 8.4.1 比较引用类型的相等性 218 8.4.2 比较值类型的相等性 219 8.5 运算符重载 219 8.5.1 运算符的工作方式 220 8.5.2 运算符重载的示例:Vector 结构 221 8.5.3 比较运算符的重载 225 8.5.4 可以重载的运算符 227 8.6 实现自定义的索引运算符 228 8.7 实现用户定义的类型强制 转换 230 8.7.1 实现用户定义的类型强制 转换 231 8.7.2 多重类型强制转换 237 8.8 小结 240 第9章 委托、lambda表达式和 事件 241 9.1 引用方法 241 9.2 委托 242 9.2.1 声明委托 242 9.2.2 使用委托 243 9.2.3 简单的委托示例 246 9.2.4 Action和Func 委托 248 9.2.5 BubbleSorter示例 248 9.2.6 多播委托 251 9.2.7 匿名方法 254 9.3 lambda表达式 255 9.3.1 参数 256 9.3.2 多行代码 256 9.3.3 闭包 257 9.4 事件 258 9.4.1 事件发布程序 258 9.4.2 事件侦听器 260 9.4.3 弱事件 261 9.5 小结 263 第10章 字符串和正则表达式 264 10.1 System.String类 265 10.1.1 构建字符串 266 10.1.2 StringBuilder成员 269 10.2 字符串格式 270 10.2.1 字符串插值 270 10.2.2 日期时间和数字的格式 272 10.2.3 自定义字符串格式 274 10.3 正则表达式 275 10.3.1 正则表达式概述 275 10.3.2 RegularExpressionsPlayaround 示例 276 10.3.3 显示结果 279 10.3.4 匹配、组和捕获 280 10.4 小结 283 第11章 集合 284 11.1 概述 284 11.2 集合接口和类型 285 11.3 列表 285 11.3.1 创建列表 287 11.3.2 只读集合 294 11.4 队列 294 11.5 栈 298 11.6 链表 300 11.7 有序列表 305 11.8 字典 306 11.8.1 字典初始化器 307 11.8.2 键的类型 307 11.8.3 字典示例 308 11.8.4 Lookup类 312 11.8.5 有序字典 313 11.9 集 313 11.10 性能 315 11.11 小结 316 第12章 特殊的集合 317 12.1 概述 317 12.2 处理位 317 12.2.1 BitArray类 318 12.2.2 BitVector32结构 320 12.3 可观察的集合 323 12.4 不变的集合 324 12.4.1 使用构建器和不变的 集合 327 12.4.2 不变集合类型和接口 327 12.4.3 使用LINQ和不变的 数组 328 12.5 并发集合 328 12.5.1 创建管道 329 12.5.2 使用BlockingCollection 332 12.5.3 使用Concurrent- Dictionary 333 12.5.4 完成管道 334 12.6 小结 335 第13章 LINQ 337 13.1 LINQ概述 337 13.1.1 列表和实体 338 13.1.2 LINQ查询 341 13.1.3 扩展方法 342 13.1.4 推迟查询的执行 343 13.2 标准的查询操作符 345 13.2.1 筛选 347 13.2.2 用索引筛选 347 13.2.3 类型筛选 348 13.2.4 复合的from子句 348 13.2.5 排序 349 13.2.6 分组 350 13.2.7 LINQ 查询中的变量 351 13.2.8 对嵌套的对象分组 352 13.2.9 内连接 353 13.2.10 左外连接 355 13.2.11 组连接 355 13.2.12 集合操作 358 13.2.13 合并 360 13.2.14 分区 360 13.2.15 聚合操作符 362 13.2.16 转换操作符 363 13.2.17 生成操作符 365 13.3 并行LINQ 365 13.3.1 并行查询 365 13.3.2 分区器 366 13.3.3 取消 367 13.4 表达式树 367 13.5 LINQ提供程序 370 13.6 小结 371 第14章 错误和异常 372 14.1 简介 372 14.2 异常类 373 14.3 捕获异常 374 14.3.1 实现多个catch块 377 14.3.2 在其他代码中捕获异常 380 14.3.3 System.Exception属性 380 14.3.4 异常过滤器 381 14.3.5 重新抛出异常 382 14.3.6 没有处理异常时发生的 情况 386 14.4 用户定义的异常类 386 14.4.1 捕获用户定义的异常 387 14.4.2 抛出用户定义的异常 389 14.4.3 定义用户定义的异常类 392 14.5 调用者信息 394 14.6 小结 396 第15章 异步编程 397 15.1 异步编程的重要性 397 15.2 异步模式 398 15.2.1 同步调用 405 15.2.2 异步模式 406 15.2.3 基于事件的异步模式 407 15.2.4 基于任务的异步模式 408 15.3 异步编程的基础 410 15.3.1 创建任务 410 15.3.2 调用异步方法 411 15.3.3 延续任务 411 15.3.4 同步上下文 412 15.3.5 使用多个异步方法 412 15.3.6 转换异步模式 413 15.4 错误处理 414 15.4.1 异步方法的异常处理 415 15.4.2 多个异步方法的异常 处理 415 15.4.3 使用AggregateException 信息 416 15.5 取消 417 15.5.1 开始取消任务 417 15.5.2 使用框架特性取消任务 417 15.5.3 取消自定义任务 418 15.6 小结 419 第16章 反射、元数据和动态编程 420 16.1 在运行期间检查代码和 动态编程 420 16.2 自定义特性 421 16.2.1 编写自定义特性 422 16.2.2 自定义特性示例: WhatsNewAttributes 425 16.3 反射 428 16.3.1 System.Type类 428 16.3.2 TypeView示例 430 16.3.3 Assembly类 433 16.3.4 完成WhatsNewAttributes 示例 434 16.4 为反射使用动态语言扩展 438 16.4.1 创建Calculator库 438 16.4.2 动态实例化类型 440 16.4.3 用反射API调用成员 442 16.4.4 使用动态类型调用成员 442 16.5 dynamic类型 443 16.6 DLR 448 16.7 包含DLR ScriptRuntime 449 16.8 DynamicObject和 ExpandoObject 451 16.8.1 DynamicObject 451 16.8.2 ExpandoObject 453 16.9 小结 455 第Ⅱ部分 .NET Core与Windows Runtime 第17章 Visual Studio 2015 458 17.1 使用Visual Studio 2015 458 17.1.1 Visual Studio的版本 461 17.1.2 Visual Studio设置 461 17.2 创建项目 462 17.2.1 面向多个版本的.NET Framework 463 17.2.2 选择项目类型 464 17.3 浏览并编写项目 469 17.3.1 构建环境:CLI和 MSBuild 469 17.3.2 Solution Explorer 470 17.3.3 使用代码编辑器 477 17.3.4 学习和理解其他窗口 481 17.3.5 排列窗口 485 17.4 构建项目 485 17.4.1 构建、编译和生成代码 486 17.4.2 调试版本和发布版本 486 17.4.3 选择配置 488 17.4.4 编辑配置 488 17.5 调试代码 490 17.5.1 设置断点 490 17.5.2 使用数据提示和调试器可 视化工具 491 17.5.3 Live Visual Tree 492 17.5.4 监视和修改变量 493 17.5.5 异常 494 17.5.6 多线程 495 17.6 重构工具 495 17.7 体系结构工具 497 17.7.1 代码地图 498 17.7.2 层关系图 499 17.8 分析应用程序 500 17.8.1 诊断工具 500 17.8.2 Concurrency Visualizer 504 17.8.3 代码分析器 505 17.8.4 Code Metrics 506 17.9 小结 506 第18章 .NET编译器平台 507 18.1 简介 507 18.2 编译器管道 509 18.3 语法分析 509 18.3.1 使用查询节点 515 18.3.2 遍历节点 517 18.4 语义分析 519 18.4.1 编译 520 18.4.2 语义模型 521 18.5 代码转换 522 18.5.1 创建新树 522 18.5.2 使用语法重写器 524 18.6 Visual Studio Code重构 529 18.6.1 VSIX包 529 18.6.2 代码重构提供程序 532 18.7 小结 537 第19章 测试 538 19.1 概述 538 19.2 使用MSTest进行单元测试 539 19.2.1 使用MSTest创建单元 测试 539 19.2.2 运行单元测试 541 19.2.3 使用MSTest预期异常 543 19.2.4 测试全部代码路径 544 19.2.5 外部依赖 544 19.2.6 Fakes Framework 547 19.2.7 IntelliTest 549 19.3 使用xUnit进行单元测试 549 19.3.1 使用xUnit和.NET Core 550 19.3.2 创建Fact属性 550 19.3.3 创建Theory属性 551 19.3.4 用dotnet工具运行单元 测试 552 19.3.5 使用Mocking库 552 19.4 UI 测试 556 19.5 Web测试 559 19.5.1 创建Web测试 560 19.5.2 运行Web测试 562 19.5.3 Web 负载测试 563 19.6 小结 565 第20章 诊断和Application Insights 566 20.1 诊断概述 566 20.2 使用EventSource跟踪 567 20.2.1 EventSource的简单用法 568 20.2.2 跟踪工具 570 20.2.3 派生自EventSource 572 20.2.4 使用注释和EventSource 574 20.2.5 创建事件清单模式 576 20.2.6 使用活动ID 578 20.3 创建自定义侦听器 581 20.4 使用Application Insights 582 20.4.1 创建通用Windows应用 程序 583 20.4.2 创建Application Insights 资源 583 20.4.3 配置Windows应用程序 584 20.4.4 使用收集器 586 20.4.5 编写自定义事件 587 20.5 小结 588 第21章 任务和并行编程 590 21.1 概述 590 21.2 Parallel类 591 21.2.1 使用Parallel.For()方法 循环 591 21.2.2 提前停止Parallel.For 594 21.2.3 Parallel.For()的初始化 595 21.2.4 使用Parallel.ForEach() 方法循环 596 21.2.5 通过Parallel.Invoke()方法 调用多个方法 597 21.3 任务 597 21.3.1 启动任务 597 21.3.2 Future——任务的结果 600 21.3.3 连续的任务 601 21.3.4 任务层次结构 602 21.3.5 从方法中返回任务 603 21.3.6 等待任务 603 21.4 取消架构 604 21.4.1 Parallel.For()方法的取消 604 21.4.2 任务的取消 605 21.5 数据流 607 21.5.1 使用动作块 607 21.5.2 源和目标数据块 608 21.5.3 连接块 609 21.6 小结 611 第22章 任务同步 612 22.1 概述 613 22.2 线程问题 613 22.2.1 争用条件 614 22.2.2 死锁 616 22.3 lock语句和线程安全 618 22.4 Interlocked类 623 22.5 Monitor类 624 22.6 SpinLock结构 625 22.7 WaitHandle基类 626 22.8 Mutex类 627 22.9 Semaphore类 628 22.10 Events类 630 22.11 Barrier类 633 22.12 ReaderWriterLockSlim类 636 22.13 Timer类 639 22.14 小结 641 第23章 文件和流 643 23.1 概述 644 23.2 管理文件系统 644 23.2.1 检查驱动器信息 645 23.2.2 使用Path类 646 23.2.3 创建文件和文件夹 647 23.2.4 访问和修改文件的属性 648 23.2.5 创建简单的编辑器 649 23.2.6 使用File执行读写操作 651 23.3 枚举文件 653 23.4 使用流处理文件 654 23.4.1 使用文件流 655 23.4.2 读取流 659 23.4.3 写入流 659 23.4.4 复制流 660 23.4.5 随机访问流 661 23.4.6 使用缓存的流 663 23.5 使用读取器和写入器 663 23.5.1 StreamReader类 663 23.5.2 StreamWriter类 664 23.5.3 读写二进制文件 665 23.6 压缩文件 666 23.6.1 使用压缩流 667 23.6.2 压缩文件 668 23.7 观察文件的更改 668 23.8 使用内存映射的文件 670 23.8.1 使用访问器创建内存映射 文件 671 23.8.2 使用流创建内存映射 文件 673 23.9 使用管道通信 675 23.9.1 创建命名管道服务器 675 23.9.2 创建命名管道客户端 677 23.9.3 创建匿名管道 677 23.10 通过Windows运行库 使用文件和流 679 23.10.1 Windows应用程序 编辑器 679 23.10.2 把Windows Runtime类 型映射为.NET类型 682 23.11 小结 684 第24章 安全性 685 24.1 概述 685 24.2 验证用户信息 686 24.2.1 使用Windows标识 686 24.2.2 Windows Principal 687 24.2.3 使用声称 688 24.3 加密数据 690 24.3.1 创建和验证签名 692 24.3.2 实现安全的数据交换 694 24.3.3 使用RSA签名和散列 697 24.3.4 实现数据的保护 700 24.4 资源的访问控制 703 24.5 使用证书发布代码 706 24.6 小结 707 第25章 网络 708 25.1 网络 708 25.2 HttpClient类 709 25.2.1 发出异步的Get请求 709 25.2.2 抛出异常 710 25.2.3 传递标题 711 25.2.4 访问内容 713 25.2.5 用HttpMessageHandler 自定义请求 713 25.2.6 使用SendAsync创建 HttpRequestMessage 714 25.2.7 使用HttpClient和Windows Runtime 715 25.3 使用WebListener类 717 25.4 使用实用工具类 720 25.4.1 URI 721 25.4.2 IPAddress 722 25.4.3 IPHostEntry 723 25.4.4 Dns 724 25.5 使用TCP 725 25.5.1 使用TCP创建HTTP客户 程序 726 25.5.2 创建TCP侦听器 728 25.5.3 创建TCP客户端 736 25.5.4 TCP和UDP 740 25.6 使用UDP 740 25.6.1 建立UDP接收器 741 25.6.2 创建UDP发送器 742 25.6.3 使用多播 745 25.7 使用套接字 745 25.7.1 使用套接字创建侦听器 746 25.7.2 使用NetworkStream和 套接字 749 25.7.3 通过套接字使用读取器和 写入器 749 25.7.4 使用套接字实现接收器 751 25.8 小结 753 第26章 Composition 754 26.1 概述 754 26.2 Composition库的体系结构 756 26.2.1 使用特性的Composition 757 26.2.2 基于约定的部件注册 763 26.3 定义协定 766 26.4 导出部件 770 26.4.1 创建部件 770 26.4.2 使用部件的部件 776 26.4.3 导出元数据 776 26.4.4 使用元数据进行惰性 加载 778 26.5 导入部件 779 26.5.1 导入连接 782 26.5.2 部件的惰性加载 784 26.5.3 读取元数据 784 26.6 小结 786 第27章 XML和JSON 787 27.1 数据格式 787 27.1.1 XML 788 27.1.2 .NET支持的XML标准 789 27.1.3 在框架中使用XML 790 27.1.4 JSON 790 27.2 读写流格式的XML 792 27.2.1 使用XmlReader类 读取XML 793 27.2.2 使用XmlWriter类 797 27.3 在.NET中使用DOM 798 27.3.1 使用XmlDocument类 读取 799 27.3.2 遍历层次结构 799 27.3.3 使用XmlDocument插入 节点 800 27.4 使用XPathNavigator类 802 27.4.1 XPathDocument类 802 27.4.2 XPathNavigator类 803 27.4.3 XPathNodeIterator类 803 27.4.4 使用XPath导航XML 803 27.4.5 使用XPath评估 804 27.4.6 用XPath修改XML 805 27.5 在XML中序列化对象 806 27.5.1 序列化简单对象 807 27.5.2 序列化一个对象树 809 27.5.3 没有特性的序列化 811 27.6 LINQ to XML 814 27.6.1 XDocument对象 815 27.6.2 XElement对象 816 27.6.3 XNamespace对象 817 27.6.4 XComment对象 818 27.6.5 XAttribute对象 819 27.6.6 使用LINQ查询XML 文档 820 27.6.7 查询动态的XML文档 821 27.6.8 转换为对象 822 27.6.9 转换为XML 823 27.7 JSON 824 27.7.1 创建JSON 825 27.7.2 转换对象 825 27.7.3 序列化对象 827 27.8 小结 828 第28章 本地化 829 28.1 全球市场 830 28.2 System.Globalization名称 空间 830 28.2.1 Unicode问题 830 28.2.2 区域性和区域 831 28.2.3 使用区域性 835 28.2.4 排序 841 28.3 资源 843 28.3.1 资源读取器和写入器 843 28.3.2 使用资源文件生成器 844 28.3.3 通过ResourceManager 使用资源文件 845 28.3.4 System.Resources名称 空间 846 28.4 使用WPF本地化 846 28.5 使用ASP.NET Core本地化 848 28.5.1 注册本地化服务 848 28.5.2 注入本地化服务 849 28.5.3 区域性提供程序 850 28.5.4 在ASP.NET Core中使用 资源 851 28.6 本地化通用Windows平台 852 28.6.1 给UWP使用资源 853 28.6.2 使用多语言应用程序 工具集进行本地化 854 28.7 创建自定义区域性 856 28.8 小结 857 第Ⅲ部分 Windows应用程序 第29章 核心XAML 860 29.1 XAML的作用 860 29.2 XAML概述 861 29.2.1 使用WPF把元素映射到 类上 862 29.2.2 通过通用Windows应用 程序把元素映射到类上 863 29.2.3 使用自定义.NET类 864 29.2.4 把属性用作特性 865 29.2.5 把属性用作元素 866 29.2.6 使用集合和XAML 867 29.3 依赖属性 867 29.3.1 创建依赖属性 868 29.3.2 值变更回调和事件 869 29.3.3 强制值回调和WPF 870 29.4 路由事件 871 29.4.1 用于Windows 应用程序 的路由事件 871 29.4.2 WPF的冒泡和隧道 873 29.4.3 用WPF实现自定义路由 事件 875 29.5 附加属性 876 29.6 标记扩展 879 29.6.1 创建自定义标记扩展 880 29.6.2 XAML定义的标记 扩展 882 29.7 小结 882 第30章 样式化XAML应用程序 883 30.1 样式设置 883 30.2 形状 884 30.3 几何图形 887 30.3.1 使用段的几何图形 887 30.3.2 使用PML的几何图形 888 30.3.3 合并的几何图形(WPF) 889 30.4 变换 889 30.4.1 缩放 890 30.4.2 平移 890 30.4.3 旋转 891 30.4.4 倾斜 891 30.4.5 组合变换和复合变换 891 30.4.6 使用矩阵的变换 891 30.4.7 变换布局 892 30.5 画笔 893 30.5.1 SolidColorBrush 893 30.5.2 LinearGradientBrush 894 30.5.3 ImageBrush 894 30.5.4 WebViewBrush 894 30.5.5 只用于WPF的画笔 895 30.6 样式和资源 898 30.6.1 样式 898 30.6.2 资源 900 30.6.3 从代码中访问资源 901 30.6.4 动态资源(WPF) 902 30.6.5 资源字典 903 30.6.6 主题资源(UWP) 905 30.7 模板 906 30.7.1 控件模板 907 30.7.2 数据模板 912 30.7.3 样式化ListView 913 30.7.4 ListView项的数据模板 915 30.7.5 项容器的样式 915 30.7.6 项面板 916 30.7.7 列表视图的控件模板 917 30.8 动画 918 30.8.1 时间轴 919 30.8.2 缓动函数 921 30.8.3 关键帧动画 927 30.8.4 过渡(UWP应用程序) 928 30.9 可视化状态管理器 931 30.9.1 用控件模板预定义状态 932 30.9.2 定义自定义状态 933 30.9.3 设置自定义的状态 934 30.10 小结 934 第31章 模式和XAML应用程序 935 31.1 使用 MVVM的原因 935 31.2 定义 MVVM模式 936 31.3 共享代码 938 31.3.1 使用API 协定和通用 Windows平台 938 31.3.2 使用共享项目 939 31.3.3 使用移动库 941 31.4 示例解决方案 942 31.5 模型 942 31.5.1 实现变更通知 943 31.5.2 使用Repository模式 944 31.6 视图模型 946 31.6.1 命令 948 31.6.2 服务和依赖注入 949 31.7 视图 952 31.7.1 注入视图模型 953 31.7.2 用于WPF的数据绑定 953 31.7.3 用于UWP的已编译数据 绑定 955 31.8 使用事件传递消息 957 31.9 IoC容器 959 31.10 使用框架 961 31.11 小结 961 第32章 Windows应用程序: 用户界面 962 32.1 概述 962 32.2 导航 963 32.2.1 导航回*初的页面 963 32.2.2 重写Page类的导航 965 32.2.3 在页面之间导航 965 32.2.4 后退按钮 967 32.2.5 Hub 969 32.2.6 Pivot 971 32.2.7 应用程序shell 972 32.2.8 汉堡按钮 976 32.2.9 分隔视图 977 32.2.10 给SplitView窗格添加 内容 979 32.3 布局 981 32.3.1 VariableSizedWrapGrid 981 32.3.2 RelativePanel 983 32.3.3 自适应触发器 984 32.3.4 XAML视图 988 32.3.5 延迟加载 988 32.4 命令 989 32.5 已编译的数据绑定 992 32.5.1 已编译绑定的生命周期 992 32.5.2 给已编译的数据模板使用 资源 994 32.6 控件 995 32.6.1 TextBox 控件 995 32.6.2 AutoSuggest 996 32.6.3 Inking 998 32.6.4 读写笔触的选择器 1001 32.7 小结 1002 第33章 高级Windows应用程序 1003 33.1 概述 1003 33.2 应用程序的生命周期 1004 33.3 应用程序的执行状态 1004 33.4 导航状态 1007 33.4.1 暂停应用程序 1008 33.4.2 激活暂停的应用程序 1009 33.4.3 测试暂停 1010 33.4.4 页面状态 1011 33.5 共享数据 1013 33.5.1 共享源 1014 33.5.2 共享目标 1017 33.6 应用程序服务 1023 33.6.1 创建模型 1024 33.6.2 为应用程序服务连接创建 后台任务 1025 33.6.3 注册应用程序服务 1026 33.6.4 调用应用程序服务 1027 33.7 相机 1029 33.8 Geolocation和Mapcontrol 1031 33.8.1 使用MapControl 1031 33.8.2 使用Geolocator定位 信息 1034 33.8.3 街景地图 1036 33.8.4 继续请求位置信息 1037 33.9 传感器 1037 33.9.1 光线 1038 33.9.2 罗盘 1040 33.9.3 加速计 1041 33.9.4 倾斜计 1042 33.9.5 陀螺仪 1042 33.9.6 方向 1043 33.9.7 Rolling Marble示例 1044 33.10 小结 1046 第34章 带WPF的Windows桌面 应用程序 1047 34.1 概述 1048 34.2 控件 1048 34.2.1 简单控件 1048 34.2.2 内容控件 1049 34.2.3 带标题的内容控件 1050 34.2.4 项控件 1052 34.2.5 带标题的项控件 1052 34.2.6 修饰 1052 34.3 布局 1053 34.3.1 StackPanel 1054 34.3.2 WrapPanel 1054 34.3.3 Canvas 1055 34.3.4 DockPanel 1056 34.3.5 Grid 1056 34.4 触发器 1058 34.4.1 属性触发器 1058 34.4.2 多触发器 1059 34.4.3 数据触发器 1060 34.5 菜单和功能区控件 1062 34.5.1 菜单控件 1062 34.5.2 功能区控件 1063 34.6 Commanding 1065 34.6.1 定义命令 1066 34.6.2 定义命令源 1067 34.6.3 命令绑定 1067 34.7 数据绑定 1068 34.7.1 BooksDemo应用程序 内容 1069 34.7.2 用XAML绑定 1070 34.7.3 简单对象的绑定 1073 34.7.4 更改通知 1075 34.7.5 对象数据提供程序 1077 34.7.6 列表绑定 1079 34.7.7 主从绑定 1082 34.7.8 多绑定 1082 34.7.9 优先绑定 1084 34.7.10 值的转换 1086 34.7.11 动态添加列表项 1087 34.7.12 动态添加选项卡中 的项 1088 34.7.13 数据模板选择器 1089 34.7.14 绑定到XML上 1091 34.7.15 绑定的验证和错误 处理 1093 34.8 TreeView 1101 34.9 DataGrid 1106 34.9.1 自定义列 1108 34.9.2 行的细节 1109 34.9.3 用DataGrid进行分组 1109 34.9.4 实时成型 1112 34.10 小结 1118 第35章 用WPF创建文档 1119 35.1 简介 1119 35.2 文本元素 1120 35.2.1 字体 1120 35.2.2 TextEffect 1121 35.2.3 内联 1123 35.2.4 块 1124 35.2.5 列表 1126 35.2.6 表 1126 35.2.7 块的锚定 1128 35.3 流文档 1130 35.4 固定文档 1134 35.5 XPS文档 1137 35.6 打印 1139 35.6.1 用PrintDialog打印 1139 35.6.2 打印可见元素 1140 35.7 小结 1142 第36章 部署Windows应用程序 1143 36.1 部署是应用程序生命周期的 一部分 1143 36.2 部署的规划 1144 36.2.1 部署选项 1144 36.2.2 部署要求 1144 36.2.3 部署.NET运行库 1145 36.3 传统的部署选项 1145 36.3.1 xcopy部署 1146 36.3.2 Windows Installer 1146 36.4 ClickOnce 1147 36.4.1 ClickOnce操作 1147 36.4.2 发布ClickOnce应用 程序 1147 36.4.3 ClickOnce设置 1149 36.4.4 ClickOnce文件的应用 程序缓存 1151 36.4.5 应用程序的安装 1151 36.4.6 ClickOnce部署API 1152 36.5 UWP应用程序 1153 36.5.1 创建应用程序包 1153 36.5.2 Windows App Certification Kit 1155 36.5.3 旁加载 1156 36.6 小结 1156 第Ⅳ部分 Web应用程序和服务 第37章 ADO.NET 1158 37.1 ADO.NET概述 1158 37.1.1 示例数据库 1159 37.1.2 NuGet 包和名称空间 1160 37.2 使用数据库连接 1160 37.2.1 管理连接字符串 1161 37.2.2 连接池 1162 37.2.3 连接信息 1162 37.3 命令 1162 37.3.1 ExecuteNonQuery() 方法 1164 37.3.2 ExecuteScalar()方法 1165 37.3.3 ExecuteReader()方法 1165 37.3.4 调用存储过程 1167 37.4 异步数据访问 1168 37.5 事务 1169 37.6 小结 1173 第38章 Entity Framework Core 1174 38.1 Entity Framework简史 1174 38.2 Entity Framework简介 1176 38.2.1 创建模型 1176 38.2.2 创建上下文 1177 38.2.3 写入数据库 1178 38.2.4 读取数据库 1179 38.2.5 更新记录 1180 38.2.6 删除记录 1180 38.3 使用依赖注入 1181 38.4 创建模型 1184 38.4.1 创建关系 1184 38.4.2 用.NET CLI迁移 1185 38.4.3 用MSBuild迁移 1187 38.4.4 创建数据库 1188 38.4.5 数据注释 1189 38.4.6 流利API 1190 38.4.7 在数据库中搭建模型 1191 38.5 使用对象状态 1191 38.5.1 用关系添加对象 1192 38.5.2 对象的跟踪 1193 38.5.3 更新对象 1194 38.5.4 更新未跟踪的对象 1195 38.6 冲突的处理 1196 38.6.1 *后一个更改获胜 1196 38.6.2 **个更改获胜 1198 38.7 使用事务 1202 38.7.1 使用隐式的事务 1202 38.7.2 创建显式的事务 1204 38.8 小结 1206 第39章 Windows服务 1207 39.1 Windows服务 1207 39.2 Windows服务的体系结构 1209 39.2.1 服务程序 1209 39.2.2 服务控制程序 1210 39.2.3 服务配置程序 1210 39.2.4 Windows服务的类 1211 39.3 创建Windows服务程序 1211 39.3.1 创建服务的核心功能 1211 39.3.2 QuoteClient示例 1214 39.3.3 Windows服务程序 1218 39.3.4 线程化和服务 1221 39.3.5 服务的安装 1222 39.3.6 安装程序 1222 39.4 Windows服务的监控和 控制 1226 39.4.1 MMC管理单元 1226 39.4.2 net.exe实用程序 1227 39.4.3 sc.exe实用程序 1227 39.4.4 Visual Studio Server Explorer 1227 39.4.5 编写自定义 ServiceController类 1228 39.5 故障排除和事件日志 1236 39.6 小结 1237 第40章 ASP.NET Core 1238 40.1 ASP.NET Core 1.0 1238 40.2 Web技术 1239 40.2.1 HTML 1239 40.2.2 CSS 1240 40.2.3 JavaScript和 TypeScript 1240 40.2.4 脚本库 1240 40.3 ASP.NET Web项目 1241 40.4 启动 1245 40.5 添加静态内容 1248 40.5.1 使用JavaScript包管理器: npm 1249 40.5.2 用gulp构建 1250 40.5.3 通过Bower使用 客户端库 1252 40.6 请求和响应 1254 40.6.1 请求标题 1256 40.6.2 查询字符串 1258 40.6.3 编码 1259 40.6.4 表单数据 1260 40.6.5 cookie 1261 40.6.6 发送JSON 1262 40.7 依赖注入 1262 40.7.1 定义服务 1263 40.7.2 注册服务 1263 40.7.3 注入服务 1264 40.7.4 调用控制器 1264 40.8 使用映射的路由 1265 40.9 使用中间件 1266 40.10 会话状态 1268 40.11 配置ASP.NET 1270 40.11.1 读取配置 1271 40.11.2 基于环境的不同配置 1271 40.11.3 用户密钥 1272 40.12 小结 1273 第41章 ASP.NET MVC 1274 41.1 为ASP.NET MVC 6建立 服务 1274 41.2 定义路由 1276 41.2.1 添加路由 1277 41.2.2 使用路由约束 1278 41.3 创建控制器 1278 41.3.1 理解动作方法 1278 41.3.2 使用参数 1279 41.3.3 返回数据 1280 41.3.4 使用Controller基类和 POCO控制器 1281 41.4 创建视图 1283 41.4.1 向视图传递数据 1283 41.4.2 Razor语法 1284 41.4.3 创建强类型视图 1285 41.4.4 定义布局 1286 41.4.5 用部分视图定义内容 1290 41.4.6 使用视图组件 1294 41.4.7 在视图中使用依赖 注入 1296 41.4.8 为多个视图导入名称 空间 1296 41.5 从客户端提交数据 1296 41.5.1 模型绑定器 1298 41.5.2 注解和验证 1299 41.6 使用HTML Helper 1300 41.6.1 简单的Helper 1300 41.6.2 使用模型数据 1301 41.6.3 定义HTML特性 1302 41.6.4 创建列表 1302 41.6.5 强类型化的Helper 1303 41.6.6 编辑器扩展 1304 41.6.7 实现模板 1304 41.7 标记辅助程序 1305 41.7.1 激活标记辅助程序 1306 41.7.2 使用锚定标记辅助 程序 1306 41.7.3 使用标签标记辅助 程序 1307 41.7.4 使用输入标记辅助 程序 1308 41.7.5 使用表单进行验证 1309 41.7.6 创建自定义标记辅助 程序 1310 41.8 实现动作过滤器 1313 41.9 创建数据驱动的应用程序 1315 41.9.1 定义模型 1315 41.9.2 创建数据库 1317 41.9.3 创建服务 1319 41.9.4 创建控制器 1321 41.9.5 创建视图 1324 41.10 实现身份验证和授权 1327 41.10.1 存储和检索用户 信息 1327 41.10.2 启动身份系统 1328 41.10.3 执行用户注册 1329 41.10.4 设置用户登录 1331 41.10.5 验证用户的身份 1332 41.11 小结 1333 第42章 ASP.NET Web API 1334 42.1 概述 1334 42.2 创建服务 1335 42.2.1 定义模型 1336 42.2.2 创建存储库 1336 42.2.3 创建控制器 1338 42.2.4 修改响应格式 1341 42.2.5 REST 结果和状态码 1341 42.3 创建异步服务 1342 42.4 创建.NET客户端 1345 42.4.1 发送GET请求 1345 42.4.2 从服务中接收XML 1349 42.4.3 发送POST请求 1350 42.4.4 发送PUT请求 1351 42.4.5 发送DELETE请求 1352 42.5 写入数据库 1353 42.5.1 定义数据库 1353 42.5.2 创建存储库 1354 42.6 创建元数据 1356 42.7 创建和使用OData服务 1358 42.7.1 创建数据模型 1358 42.7.2 创建服务 1359 42.7.3 OData查询 1360 42.8 小结 1361 第43章 WebHooks和SignalR 1362 43.1 概述 1362 43.2 SignalR的体系结构 1363 43.3 使用SignalR的简单聊天 程序 1364 43.3.1 创建集线器 1364 43.3.2 用HTML和JavaScript 创建客户端 1365 43.3.3 创建SignalR .NET 客户端 1367 43.4 分组连接 1370 43.4.1 用分组扩展集线器 1371 43.4.2 用分组扩展WPF 客户端 1372 43.5 WebHooks的体系结构 1375 43.6 创建Dropbox和GitHub 接收器 1376 43.6.1 创建Web应用程序 1376 43.6.2 为Dropbox和GitHub 配置WebHooks 1377 43.6.3 实现处理程序 1377 43.6.4 用Dropbox和GitHub 配置应用程序 1379 43.6.5 运行应用程序 1380 43.7 小结 1382 第44章 WCF 1383 44.1 WCF概述 1383 44.1.1 SOAP 1385 44.1.2 WSDL 1385 44.2 创建简单的服务和客户端 1386 44.2.1 定义服务和数据协定 1386 44.2.2 数据访问 1389 44.2.3 服务的实现 1390 44.2.4 WCF服务宿主和WCF 测试客户端 1391 44.2.5 自定义服务宿主 1393 44.2.6 WCF客户端 1395 44.2.7 诊断 1397 44.2.8 与客户端共享协定 程序集 1399 44.3 协定 1400 44.3.1 数据协定 1400 44.3.2 版本问题 1401 44.3.3 服务协定和操作协定 1401 44.3.4 消息协定 1402 44.3.5 错误协定 1403 44.4 服务的行为 1404 44.5 绑定 1408 44.5.1 标准绑定 1408 44.5.2 标准绑定的功能 1409 44.5.3 WebSocket 1410 44.6 宿主 1414 44.6.1 自定义宿主 1414 44.6.2 WAS宿主 1415 44.6.3 预配置的宿主类 1415 44.7 客户端 1416 44.7.1 使用元数据 1417 44.7.2 共享类型 1418 44.8 双工通信 1418 44.8.1 双工通信的协定 1418 44.8.2 用于双工通信的服务 1419 44.8.3 用于双工通信的客户 应用程序 1420 44.9 路由 1421 44.9.1 路由示例应用程序 1422 44.9.2 路由接口 1423 44.9.3 WCF路由服务 1423 44.9.4 为故障切换使用 路由器 1424 44.9.5 改变协定的桥梁 1425 44.9.6 过滤器的类型 1426 44.10 小结 1426 第45章 部署网站和服务 1427 45.1 部署Web应用程序 1427 45.2 部署前的准备 1428 45.2.1 创建ASP.NET 4.6 Web 应用程序 1428 45.2.2 创建ASP.NET Core 1.0 Web应用程序 1429 45.2.3 ASP.NET 4.6的配置 文件 1430 45.2.4 ASP.NET Core 1.0的 配置文件 1431 45.3 部署到IIS 1433 45.3.1 使用 IIS Manager准备 Web应用程序 1433 45.3.2 Web部署到IIS 1437 45.4 部署到Microsoft Azure 1440 45.4.1 创建SQL数据库 1440 45.4.2 用SQL Azure测试本地 网站 1440 45.4.3 部署到Microsoft Azure Web应用 1441 45.5 部署到Docker 1441 45.6 小结 1442
展开全部

C#高级编程(第10版)C#6&.NET Core 1.0 作者简介

Christian Nagel是微软开发技术代言人(Microsoft Regional Director)、Visual Studio和开发技术方向的微软MVP、软件架构师、资深开发人员(2000年就开始用.NET技术建立解决方案) 。他编著过多本.NET图书,经常在TechEd和TechDays等国际会议上发言,并支持.NET用户组。Christian是微软认证培训师(MCT),也是Universal Windows apps和ASP.NET方向的微软认证开发专家(MCPD)。

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服