C#高级编程(第8版) 9787302334118 Christian Nagel|Bill Evjen|Jay Glynn 清华大学出版社
当天发货,正版二手书,品相一般都没问题。
¥
29.8
2.0折
¥
148
八品
库存2件
作者Christian Nagel|Bill Evjen|Jay Glynn
出版社清华大学出版社
ISBN9787302334118
出版时间2013-10
装帧平装
开本16开
定价148元
货号1513754804093568512
上书时间2024-10-31
商品详情
- 品相描述:八品
- 商品描述
-
作者简介
《C#高级编程(第8版)》是C# 2012和.NET 4.5高级技术的资源,旨在帮助读者更新、提高用C# 2012和.NET 4.5编写Windows应用程序、Web应用程序、Windows 8样式应用程序的技巧。本书的作者专家团队首先介绍了C#的基础知识,之后全面探讨了该语言和架构中的新增功能,以及新的测试驱动的开发和并发编程特性。《C#高级编程(第8版)》提供了学习C# 2012和.NET 4.5所需的所有知识,使读者可以限度地发挥出这些动态技术的潜能。
主要内容:
介绍富有挑战性的.NET特性,包括LINQ、LINQ toEquities、LINQ to XML、WCF、WPF、Workflow和泛型
详细论述了异步编程、模式、基础和方法
研究了Windows 8开发的新选项和接口、WinRT和Windows 8样式应用程序
阐述了文件和注册表的操作
介绍了WPF编程,包括样式、数据驱动的应用程序和文档、ASP.NET Web Forms以及ASP.NET MVC
目录
第Ⅰ部分 C# 语 言
第1章 .NET体系结构
1.1 C#与.NET的关系
1.2 公共语言运行库
1.2.1 平台无关性
1.2.2 提高性能
1.2.3 语言的互操作性
1.3 中间语言
1.3.1 面向对象和接口的支持
1.3.2 不同的值类型和引用类型
1.3.3 强数据类型化
1.3.4 通过异常处理错误
1.3.5 特性的使用
1.4 程序集
1.4.1 私有程序集
1.4.2 共享程序集
1.4.3 反射
1.4.4 并行编程
1.4.5 异步编程
1.5 .NET Framework类
1.6 名称空间
1.7 用C#创建.NET应用程序
1.7.1 创建ASP.NET应用程序
1.7.2 使用WPF
1.7.3 Windows 8应用程序
1.7.4 Windows服务
1.7.5 WCF
1.7.6 Windows WF
1.8 C#在.NET企业体系结构中的作用
1.9 小结
第2章 核心C#
2.1 C#基础
2.2 第一个C#程序
2.2.1 代码
2.2.2 编译并运行程序
2.2.3 详细介绍
2.3 变量
2.3.1 变量的初始化
2.3.2 类型推断
2.3.3 变量的作用域
2.3.4 常量
2.4 预定义数据类型
2.4.1 值类型和引用类型
2.4.2 CTS类型
2.4.3 预定义的值类型
2.4.4 预定义的引用类型
2.5 流控制
2.5.1 条件语句
2.5.2 循环
2.5.3 跳转语句
2.6 枚举
2.7 名称空间
2.7.1 using语句
2.7.2 名称空间的别名
2.8 Main()方法
2.8.1 多个Main()方法
2.8.2 给Main()方法传递参数
2.9 有关编译C#文件的更多内容
2.10 控制台I/O
2.11 使用注释
2.11.1 源文件中的内部注释
2.11.2 XML文档
2.12 C#预处理器指令
2.12.1 #define和 #undef
2.12.2 #if、#elif、#else和#endif
2.12.3 #warning和 # error
2.12.4 #region和#endregion
2.12.5 #line
2.12.6 #pragma
2.13 C#编程规则
2.13.1 关于标识符的规则
2.13.2 用法约定
2.14 小结
第3章 对象和类型
3.1 创建及使用类
3.2 类和结构
3.3 类
3.3.1 数据成员
3.3.2 函数成员
3.3.3 只读字段
3.4 匿名类型
3.5 结构
3.5.1 结构是值类型
3.5.2 结构和继承
3.5.3 结构的构造函数
3.6 弱引用
3.7 部分类
3.8 静态类
3.9 Object类
3.9.1 System.Object()方法
3.9.2 ToString()方法
3.10 扩展方法
3.11 小结
第4章 继承
4.1 继承
4.2 继承的类型
4.2.1 实现继承和接口继承
4.2.2 多重继承
4.2.3 结构和类
4.3 实现继承
4.3.1 虚方法
4.3.2 隐藏方法
4.3.3 调用函数的基类版本
4.3.4 抽象类和抽象函数
4.3.5 密封类和密封方法
4.3.6 派生类的构造函数
4.4 修饰符
4.4.1 可见性修饰符
4.4.2 其他修饰符
4.5 接口
4.5.1 定义和实现接口
4.5.2 派生的接口
4.6 小结
第5章 泛型
5.1 泛型概述
5.1.1 性能
5.1.2 类型安全
5.1.3 二进制代码的重用
5.1.4 代码的扩展
5.1.5 命名约定
5.2 创建泛型类
5.3 泛型类的功能
5.3.1 默认值
5.3.2 约束
5.3.3 继承
5.3.4 静态成员
5.4 泛型接口
5.4.1 协变和抗变
5.4.2 泛型接口的协变
5.4.3 泛型接口的抗变
5.5 泛型结构
5.6 泛型方法
5.6.1 泛型方法示例
5.6.2 带约束的泛型方法
5.6.3 带委托的泛型方法
5.6.4 泛型方法规范
5.7 小结
第6章 数组
6.1 同一类型和不同类型的多个对象
6.2 简单数组
6.2.1 数组的声明
6.2.2 数组的初始化
6.2.3 访问数组元素
6.2.4 使用引用类型
6.3 多维数组
6.4 锯齿数组
6.5 Array类
6.5.1 创建数组
6.5.2 复制数组
6.5.3 排序
6.6 数组作为参数
6.6.1 数组协变
6.6.2 ArraySegment
6.7 枚举
6.7.1 IEnumerator接口
6.7.2 foreach语句
6.7.3 yield语句
6.8 元组
6.9 结构比较
6.10 小结
第7章 运算符和类型强制转换
7.1 运算符和类型转换
7.2 运算符
7.2.1 运算符的简化操作
7.2.2 运算符的优先级
7.3 类型的安全性
7.3.1 类型转换
7.3.2 装箱和拆箱
7.4 比较对象的相等性
7.4.1 比较引用类型的相等性
7.4.2 比较值类型的相等性
7.5 运算符重载
7.5.1 运算符的工作方式
7.5.2 运算符重载的示例:Vector结构
7.6 用户定义的类型强制转换
7.6.1 实现用户定义的类型强制转换
7.6.2 多重类型强制转换
7.7 小结
第8章 委托、Lambda表达式
和事件
8.1 引用方法
8.2 委托
8.2.1 声明委托
8.2.2 使用委托
8.2.3 简单的委托示例
8.2.4 Action和Func委托
8.2.5 BubbleSorter示例
8.2.6 多播委托
8.2.7 匿名方法
8.3 Lambda表达式
8.3.1 参数
8.3.2 多行代码
8.3.3 闭包
8.3.4 使用foreach语句的闭包
8.4 事件
8.4.1 事件发布程序
8.4.2 事件侦听器
8.4.3 弱事件
8.5 小结
第9章 字符串和正则表达式
9.1 System.String类
9.1.1 创建字符串
9.1.2 StringBuilder成员
9.1.3 格式字符串
9.2 正则表达式
9.2.1 正则表达式概述
9.2.2 RegularExpressionsPlayaround示例
9.2.3 显示结果
9.2.4 匹配、组合和捕获
9.3 小结
第10章 集合
10.1 概述
10.2 集合接口和类型
10.3 列表
10.3.1 创建列表
10.3.2 只读集合
10.4 队列
10.5 栈
10.6 链表
10.7 有序列表
10.8 字典
10.8.1 键的类型
10.8.2 字典示例
10.8.3 Lookup类
10.8.4 有序字典
10.9 集
10.10 可观察的集合
10.11 位数组
10.11.1 BitArray类
10.11.2 BitVector32结构
10.12 并发集合
10.12.1 创建管道
10.12.2 使用Blocking-Collection
10.12.3 使用Concurrent-Dictionary
10.12.4 完成管道
10.13 性能
10.14 小结
第11章 LINQ
11.1 LINQ概述
11.1.1 列表和实体
11.1.2 LINQ查询
11.1.3 扩展方法
11.1.4 推迟查询的执行
11.2 标准的查询操作符
11.2.1 筛选
11.2.2 用索引筛选
11.2.3 类型筛选
11.2.4 复合的from子句
11.2.5 排序
11.2.6 分组
11.2.7 对嵌套的对象分组
11.2.8 内连接
11.2.9 左外连接
11.2.10 组连接
11.2.11 集合操作
11.2.12 合并
11.2.13 分区
11.2.14 聚合操作符
11.2.15 转换操作符
11.2.16 生成操作符
11.3 并行LINQ
11.3.1 并行查询
11.3.2 分区器
11.3.3 取消
11.4 表达式树
11.5 LINQ提供程序
11.6 小结
第12章 动态语言扩展
12.1 DLR
12.2 dynamic类型
12.3 包含DLR ScriptRuntime
12.4 DynamicObject和ExpandoObject
12.4.1 DynamicObject
12.4.2 ExpandoObject
12.5 小结
第13章 异步编程
13.1 异步编程的重要性
13.2 异步模式
13.2.1 同步调用
13.2.2 异步模式
13.2.3 基于事件的异步模式
13.2.4 基于任务的异步模式
13.3 异步编程的基础
13.3.1 创建任务
13.3.2 调用异步方法
13.3.3 延续任务
13.3.4 同步上下文
13.3.5 使用多个异步方法
13.3.6 转换异步模式
13.4 错误处理
13.4.1 异步方法的异常处理
13.4.2 多个异步方法的异常处理
13.4.3 AggregateException类
13.5 取消
13.5.1 开始取消任务
13.5.2 使用框架特性取消任务
13.5.3 取消自定义任务
13.6 小结
第14章 内存管理和指针
14.1 内存管理
14.2 后台内存管理
14.2.1 值数据类型
14.2.2 引用数据类型
14.2.3 垃圾回收
14.3 释放非托管的资源
14.3.1 析构函数
14.3.2 IDisposable接口
14.3.3 实现IDisposable接口和析构函数
14.4 不安全的代码
14.4.1 用指针直接访问内存
14.4.2 指针示例:PointerPlayground
14.4.3 使用指针优化性能
14.5 小结
第15章 反射
15.1 在运行期间处理和检查代码
15.2 自定义特性
15.2.1 编写自定义特性
15.2.2 自定义特性示例:WhatsNewAttributes
15.3 反射
15.3.1 System.Type类
15.3.2 TypeView示例
15.3.3 Assembly类
15.3.4 完成WhatsNewAttributes示例
15.4 小结
第16章 错误和异常
16.1 简介
16.2 异常类
16.3 捕获异常
16.3.1 实现多个catch块
16.3.2 在其他代码中捕获异常
16.3.3 System.Exception属性
16.3.4 没有处理异常时所发生的情况
16.3.5 嵌套的 try块
16.4 用户定义的异常类
16.4.1 捕获用户定义的异常
16.4.2 抛出用户定义的异常
16.4.3 定义用户定义的异常类
16.5 调用者信息
16.6 小结
第Ⅱ部分 Visual Studio
第17章 Visual Studio 2012
17.1 用Visual Studio 2012进行工作
17.1.1 项目文件的改进
17.1.2 Visual Studio的版本
17.1.3 Visual Studio设置
17.2 创建项目
17.2.1 面向多个版本的.NET Framework
17.2.2 选择项目类型
17.3 浏览并编写项目
17.3.1 Solution Explorer
17.3.2 用代码编辑器进行工作
17.3.3 学习和理解其他窗口
17.3.4 排列窗口
17.4 构建项目
17.4.1 构建、编译和生成
17.4.2 调试版本和发布版本
17.4.3 选择配置
17.4.4 编辑配置
17.5 调试代码
17.5.1 设置断点
17.5.2 使用数据提示和调试器可视化工具
17.5.3 监视和修改变量
17.5.4 异常
17.5.5 多线程
17.5.6 IntelliTrace
17.6 重构工具
17.7 体系结构工具
17.7.1 依赖项关系图
17.7.2 层关系图
17.8 分析应用程序
17.8.1 序列图
17.8.2 探查器
17.8.3 Concurrency Visualizer
17.8.4 Code Analysis
17.8.5 Code Metrics
17.9 单元测试
17.9.1 创建单元测试
17.9.2 运行单元测试
17.9.3 预期异常
17.9.4 测试全部代码路径
17.9.5 外部依赖
17.9.6 Fakes Framework
17.10 Windows 8、WCF、WF等
17.10.1 使用Visual Studio 2012生成WCF应用程序
17.10.2 使用Visual Studio 2012生成WF应用程序
17.10.3 使用Visual Studio 2012生成Windows Store应用程序
17.11 小结
第18章 部署
18.1 部署是应用程序生命周期的一部分
18.2 部署的规划
18.2.1 部署选项
18.2.2 部署要求
18.2.3 部署.NET运行库
18.3 传统的部署选项
18.3.1 xcopy部署
18.3.2 xcopy和Web应用程序
18.3.3 Windows Installer
18.4 ClickOnce
18.4.1 ClickOnce操作
18.4.2 发布ClickOnce应用程序
18.4.3 ClickOnce设置
18.4.4 ClickOnce文件的应用程序缓存
18.4.5 应用程序的安装
18.4.6 ClickOnce部署API
18.5 Web部署
18.5.1 Web应用程序
18.5.2 配置文件
18.5.3 创建Web Deploy包
18.6 Windows 8应用程序
18.6.1 创建应用程序包
18.6.2 Windows App Certification Kit
18.6.3 旁加载
18.6.4 Windows部署API
18.7 小结
第Ⅲ部分 基 础
第19章 程序集
19.1 程序集的含义
19.1.1 程序集的功能
19.1.2 程序集的结构
19.1.3 程序集清单
19.1.4 名称空间、程序集和组件
19.1.5 私有程序集和共享程序集
19.1.6 附属程序集
19.1.7 查看程序集
19.2 构建程序集
19.2.1 创建模块和程序集
19.2.2 程序集的特性
19.2.3 创建和动态加载程序集
19.3 应用程序域
19.4 共享程序集
19.4.1 强名
19.4.2 使用强名获得完整性
19.4.3 全局程序集缓存
19.4.4 创建共享程序集
19.4.5 创建强名
19.4.6 安装共享程序集
19.4.7 使用共享程序集
19.4.8 程序集的延迟签名
19.4.9 引用
19.4.10 本机映像生成器
19.5 配置.NET应用程序
19.5.1 配置类别
19.5.2 绑定程序集
19.6 版本问题
19.6.1 版本号
19.6.2 通过编程方式获取版本
19.6.3 绑定到程序集版本
19.6.4 发行者策略文件
19.6.5 运行库的版本
19.7 在不同的技术之间共享程序集
19.7.1 共享源代码
19.7.2 可移植类库
19.8 小结
第20章 诊断
20.1 诊断概述
20.2 代码协定
20.2.1 前提条件
20.2.2 后置条件
20.2.3 不变量
20.2.4 纯粹性
20.2.5 接口的协定
20.2.6 简写
20.2.7 协定和遗留代码
20.3 跟踪
20.3.1 跟踪源
20.3.2 跟踪开关
20.3.3 跟踪侦听器
20.3.4 筛选器
20.3.5 相关性
20.3.6 使用ETW进行跟踪
20.4 事件日志
20.4.1 事件日志体系结构
20.4.2 事件日志类
20.4.3 创建事件源
20.4.4 写入事件日志
20.4.5 资源文件
20.5 性能监视
20.5.1 性能监视类
20.5.2 性能计数器生成器
20.5.3 添加PerformanceCounter组件
20.5.4 perfmon.exe
20.6 小结
第21章 任务、线程和同步
21.1 概述
21.2 Parallel类
21.2.1 用Parallel.For()方法循环
21.2.2 使用Parallel.ForEach()方法循环
21.2.3 通过Parallel.Invoke()方法调用多个方法
21.3 任务
21.3.1 启动任务
21.3.2 Future-- 任务的结果
21.3.3 连续的任务
21.3.4 任务层次结构
21.4 取消架构
21.4.1 Parallel.For()方法的取消
21.4.2 任务的取消
21.5 线程池
21.6 Thread类
21.6.1 给线程传递数据
21.6.2 后台线程
21.6.3 线程的优先级
21.6.4 控制线程
21.7 线程问题
21.7.1 争用条件
21.7.2 死锁
21.8 同步
21.8.1 lock语句和线程安全
21.8.2 Interlocked类
21.8.3 Monitor类
21.8.4 SpinLock结构
21.8.5 WaitHandle基类
21.8.6 Mutex类
21.8.7 Semaphore类
21.8.8 Events类
21.8.9 Barrier类
21.8.10 ReaderWriterLockSlim类
21.9 Timer类
21.10 数据流
21.10.1 使用动作块
21.10.2 源和目标数据块
21.10.3 连接块
21
— 没有更多了 —
以下为对购买帮助不大的评价