图书信息我要评论 查看评论
内容介绍: 【展开】
本书是C# 领域久负盛名的经典著作,深入全面地叙述了C# 编程语言和.NET 平台核心,并以大量示例剖析相关概念。书中介绍了C# 的各种语言构造、.NET 2.0 的类、核心API、公共中间语言(CIL)、动态程序集和ASP.NET 扩展等内容;同时也介绍了.NET 3.0、.NET 3.5 和.NET 4 中的新的编程API,包括WPF、WCF 和WF 的功能;另外,还介绍了最新的C# 2010 编程语言、DLR、TPL、LINQ 编程技术、COM 与.NET 的互操作性以及平台无关的.NET 开发等。
本书由微软C# MVP Andrew Troelsen 编写,历经多次修订,适合各层次.NET 开发人员阅读。
目录
第一部分 C#与.NET平台
第1章 .NET之道
1.1 .NET之前的世界
1.2 .NET解决方案
1.3 .NET平台构造块(CLR、CTS和CLS)简介
1.4 其他支持.NET的编程语言
1.5 .NET程序集概览
1.6 CTS
1.7 CLS
1.8 CLR
1.9 程序集/命名空间/类型的区别
1.10 使用ildasm.exe探索程序集
1.11 使用Reflector来查看程序集
1.12 部署.NET运行库
1.13 .NET的平台无关性
1.14 小结
第2章 构建C#应用程序
2.1 .NET Framework 4 SDK的作用
2.2 用csc.exe构建C#应用程序
2.3 使用Notepad++构建.NET应用程序
2.4 使用SharpDevelop构建.NET应用程序
2.5 使用Visual C# 2010 Express构建.NET应用程序
2.6 使用Visual Studio 2010构建.NET应用程序
2.7 小结
第二部分 C#核心编程结构
第3章 C#核心编程结构Ⅰ
3.1 一个简单的C#程序
3.2 有趣的题外话:System.Environment类的其他成员
3.3 System.Console类
3.4 系统数据类型和C#简化符号
3.5 使用字符串数据
3.6 窄化和宽化数据类型转换
3.7 隐式类型本地变量
3.8 C#迭代结构
3.9 条件结构和关系/相等操作符
3.10 小结
第4章 C#核心编程结构Ⅱ
4.1 方法和参数修饰符
4.2 C#中的数组操作
4.3 枚举类型
4.4 结构类型
4.5 值类型和引用类型
4.6 C#可空类型
4.7 小结
第5章 定义封装的类类型
5.1 C#类类型
5.2 构造函数
5.3 this关键字的作用
5.4 static关键字
5.5 定义OOP的支柱
5.6 C#访问修饰符
5.7 第一个支柱:C#的封装服务
5.8 自动属性
5.9 对象初始化器语法
5.10 常量数据
5.11 分部类型
5.12 小结
第6章 继承和多态
6.1 继承的基本机制
6.2 回顾Visual Studio类关系图
6.3 OOP的第二个支柱:继承
6.4 包含/委托编程
6.5 OOP的第三个支柱:C#的多态支持
6.6 基类/派生类的转换规则
6.7 超级父类:System.Object
6.8 小结
第7章 结构化异常处理
7.1 错误、bug与异常
7.2 .NET异常处理的作用
7.3 最简单的例子
7.4 配置异常的状态
7.5 系统级异常(System.System-Exception)
7.6 应用程序级异常(System.Applica-tionException)
7.7 处理多个异常
7.8 谁在引发什么异常
7.9 未处理异常的后果
7.10 使用Visual Studio调试未处理的异常
7.11 损坏状态异常简介
7.12 小结
第8章 对象的生命周期
8.1 类、对象和引用
8.2 对象生命周期的基础
8.3 应用程序根的作用
8.4 对象的代
8.5 .NET 1.0 至.NET 3.5的并发垃圾回收
8.6 .NET 4下的后台垃圾回收
8.7 System.GC类型
8.8 构建可终结对象
8.9 构建可处置对象
8.10 构建可终结类型和可处置类型
8.11 延迟对象实例化
8.12 小结
第三部分 高级C#编程结构
第9章 接口
9.1 接口类型
9.2 定义自定义接口
9.3 实现接口
9.4 在对象级别调用接口成员
9.5 接口作为参数
9.6 接口作为返回值
9.7 接口类型数组
9.8 使用Visual Studio 2010实现接口
9.9 通过显式接口实现解决命名冲突
9.10 设计接口层次结构
9.11 构建可枚举类型(IEnumerable和IEnumerator)
9.12 构建可克隆的对象(ICloneable)
9.13 构建可比较的对象(IComparable)
9.14 小结
第10章 泛型
10.1 非泛型集合
10.2 泛型类型参数的作用
10.3 System.Collections.Generic命名空间
10.4 创建自定义泛型方法
10.5 创建自定义泛型结构和类
10.6 类型参数的约束
10.7 小结
第11章 委托、事件和Lambda
11.1 .NET委托类型
11.2 在C#中定义委托类型
11.3 System.MulticastDelegate与System.Delegate基类
11.4 最简单的委托示例
11.5 使用委托发送对象状态通知
11.6 方法组转换语法
11.7 委托协变
11.8 泛型委托
11.9 C#事件
11.10 C#匿名方法
11.11 Lambda表达式
11.12 小结
第12章 高级C#语言特性
12.1 索引器方法
12.2 操作符重载
12.3 自定义类型转换
12.4 扩展方法
12.5 分部方法
12.6 匿名类型
12.7 指针类型
12.8 小结
第13章 LINQ to Object
13.1 LINQ特有的编程结构
13.2 LINQ的作用
13.3 将LINQ查询应用于原始数组
13.4 返回LINQ查询的结果
13.5 将LINQ查询应用到集合对象
13.6 C#LINQ查询操作符
13.7 LINQ查询语句的内部表示
13.8 小结
第四部分 用.NET程序集编程
第14章 .NET程序集入门
14.1 定义自定义命名空间
14.2 .NET程序集的作用
14.3 .NET程序集的格式
14.4 构建和使用单文件程序集
14.5 构建和使用多文件程序集
14.6 私有程序集
14.7 共享程序集
14.8 使用共享程序集
14.9 配置共享程序集
14.10 发行者策略程序集
14.11 元素
14.12 System.Configuration命名空间
14.13 小结
第15章 类型反射、晚期绑定和基于特性的编程
15.1 类型元数据的必要性
15.2 反射
15.3 构建自定义的元数据查看器
15.4 动态加载程序集
15.5 反射共享程序集
15.6 晚期绑定
15.7 .NET特性的作用
15.8 构建自定义特性
15.9 程序集级别(和模块级别)特性
15.10 使用早期绑定反射特性
15.11 使用晚期绑定反射特性
15.12 反射、晚期绑定和自定义特性的使用背景
15.13 构建可扩展的应用程序
15.14 小结
第16章 进程、应用程序域和对象上下文
16.1 Windows进程的作用
16.2 .NET平台下与进程进行交互
16.3 .NET应用程序域
16.4 与默认应用程序域进行交互
16.5 创建新的应用程序域
16.6 对象上下文边界
16.7 进程、应用程序域和上下文小结
16.8 小结
第17章 CIL和动态程序集的作用
17.1 学习CIL语法的原因
17.2 CIL指令、特性和操作码
17.3 入栈和出栈:CIL基于栈的本质
17.4 正反向工程
17.5 CIL指令和特性
17.6 .NET基础类库、C#和CIL数据类型的映射
17.7 在CIL中定义类型成员
17.8 剖析CIL操作码
17.9 使用CIL构建.NET程序集
17.10 动态程序集
17.11 小结
第18章 动态类型和动态语言运行时
18.1 dynamic关键字的作用
18.2 DLR的作用
18.3 使用动态类型简化后期绑定调用
18.4 使用动态数据简化COM互操作
18.5 使用C# 2010的特性进行COM互操作
18.6 小结
第五部分 .NET基础类库
第19章 构建多线程应用程序
第20章 文件输入输出和对象序列化
第21章 ADO.NET之一:连接层
第22章 ADO.NET之二:断开连接层
第23章 ADO.NET之三:Entity Framework
第24章 LINQ to XML简介
第25章 WCF
第26章 Windows Workflow Foundation
4.0简介
第六部分 使用WPF构建桌面用户界面
第27章 WPF和XAML
第28章 使用WPF控件编程
第29章 WPF图形呈现服务
第30章 WPF资源、动画和样式
第31章 WPF控件模板和用户控件
第七部分 使用ASP.NET构建Web应用程序
第32章 构建ASP.NET网页
第33章 ASP.NET Web控件、母版页和主题
第34章 ASP.NET状态管理技术
第八部分 附 录
附录A Windows Forms编程
附录B 使用Mono进行平台无关的.NET开发
本书由微软C# MVP Andrew Troelsen 编写,历经多次修订,适合各层次.NET 开发人员阅读。
目录
第一部分 C#与.NET平台
第1章 .NET之道
1.1 .NET之前的世界
1.2 .NET解决方案
1.3 .NET平台构造块(CLR、CTS和CLS)简介
1.4 其他支持.NET的编程语言
1.5 .NET程序集概览
1.6 CTS
1.7 CLS
1.8 CLR
1.9 程序集/命名空间/类型的区别
1.10 使用ildasm.exe探索程序集
1.11 使用Reflector来查看程序集
1.12 部署.NET运行库
1.13 .NET的平台无关性
1.14 小结
第2章 构建C#应用程序
2.1 .NET Framework 4 SDK的作用
2.2 用csc.exe构建C#应用程序
2.3 使用Notepad++构建.NET应用程序
2.4 使用SharpDevelop构建.NET应用程序
2.5 使用Visual C# 2010 Express构建.NET应用程序
2.6 使用Visual Studio 2010构建.NET应用程序
2.7 小结
第二部分 C#核心编程结构
第3章 C#核心编程结构Ⅰ
3.1 一个简单的C#程序
3.2 有趣的题外话:System.Environment类的其他成员
3.3 System.Console类
3.4 系统数据类型和C#简化符号
3.5 使用字符串数据
3.6 窄化和宽化数据类型转换
3.7 隐式类型本地变量
3.8 C#迭代结构
3.9 条件结构和关系/相等操作符
3.10 小结
第4章 C#核心编程结构Ⅱ
4.1 方法和参数修饰符
4.2 C#中的数组操作
4.3 枚举类型
4.4 结构类型
4.5 值类型和引用类型
4.6 C#可空类型
4.7 小结
第5章 定义封装的类类型
5.1 C#类类型
5.2 构造函数
5.3 this关键字的作用
5.4 static关键字
5.5 定义OOP的支柱
5.6 C#访问修饰符
5.7 第一个支柱:C#的封装服务
5.8 自动属性
5.9 对象初始化器语法
5.10 常量数据
5.11 分部类型
5.12 小结
第6章 继承和多态
6.1 继承的基本机制
6.2 回顾Visual Studio类关系图
6.3 OOP的第二个支柱:继承
6.4 包含/委托编程
6.5 OOP的第三个支柱:C#的多态支持
6.6 基类/派生类的转换规则
6.7 超级父类:System.Object
6.8 小结
第7章 结构化异常处理
7.1 错误、bug与异常
7.2 .NET异常处理的作用
7.3 最简单的例子
7.4 配置异常的状态
7.5 系统级异常(System.System-Exception)
7.6 应用程序级异常(System.Applica-tionException)
7.7 处理多个异常
7.8 谁在引发什么异常
7.9 未处理异常的后果
7.10 使用Visual Studio调试未处理的异常
7.11 损坏状态异常简介
7.12 小结
第8章 对象的生命周期
8.1 类、对象和引用
8.2 对象生命周期的基础
8.3 应用程序根的作用
8.4 对象的代
8.5 .NET 1.0 至.NET 3.5的并发垃圾回收
8.6 .NET 4下的后台垃圾回收
8.7 System.GC类型
8.8 构建可终结对象
8.9 构建可处置对象
8.10 构建可终结类型和可处置类型
8.11 延迟对象实例化
8.12 小结
第三部分 高级C#编程结构
第9章 接口
9.1 接口类型
9.2 定义自定义接口
9.3 实现接口
9.4 在对象级别调用接口成员
9.5 接口作为参数
9.6 接口作为返回值
9.7 接口类型数组
9.8 使用Visual Studio 2010实现接口
9.9 通过显式接口实现解决命名冲突
9.10 设计接口层次结构
9.11 构建可枚举类型(IEnumerable和IEnumerator)
9.12 构建可克隆的对象(ICloneable)
9.13 构建可比较的对象(IComparable)
9.14 小结
第10章 泛型
10.1 非泛型集合
10.2 泛型类型参数的作用
10.3 System.Collections.Generic命名空间
10.4 创建自定义泛型方法
10.5 创建自定义泛型结构和类
10.6 类型参数的约束
10.7 小结
第11章 委托、事件和Lambda
11.1 .NET委托类型
11.2 在C#中定义委托类型
11.3 System.MulticastDelegate与System.Delegate基类
11.4 最简单的委托示例
11.5 使用委托发送对象状态通知
11.6 方法组转换语法
11.7 委托协变
11.8 泛型委托
11.9 C#事件
11.10 C#匿名方法
11.11 Lambda表达式
11.12 小结
第12章 高级C#语言特性
12.1 索引器方法
12.2 操作符重载
12.3 自定义类型转换
12.4 扩展方法
12.5 分部方法
12.6 匿名类型
12.7 指针类型
12.8 小结
第13章 LINQ to Object
13.1 LINQ特有的编程结构
13.2 LINQ的作用
13.3 将LINQ查询应用于原始数组
13.4 返回LINQ查询的结果
13.5 将LINQ查询应用到集合对象
13.6 C#LINQ查询操作符
13.7 LINQ查询语句的内部表示
13.8 小结
第四部分 用.NET程序集编程
第14章 .NET程序集入门
14.1 定义自定义命名空间
14.2 .NET程序集的作用
14.3 .NET程序集的格式
14.4 构建和使用单文件程序集
14.5 构建和使用多文件程序集
14.6 私有程序集
14.7 共享程序集
14.8 使用共享程序集
14.9 配置共享程序集
14.10 发行者策略程序集
14.11 元素
14.12 System.Configuration命名空间
14.13 小结
第15章 类型反射、晚期绑定和基于特性的编程
15.1 类型元数据的必要性
15.2 反射
15.3 构建自定义的元数据查看器
15.4 动态加载程序集
15.5 反射共享程序集
15.6 晚期绑定
15.7 .NET特性的作用
15.8 构建自定义特性
15.9 程序集级别(和模块级别)特性
15.10 使用早期绑定反射特性
15.11 使用晚期绑定反射特性
15.12 反射、晚期绑定和自定义特性的使用背景
15.13 构建可扩展的应用程序
15.14 小结
第16章 进程、应用程序域和对象上下文
16.1 Windows进程的作用
16.2 .NET平台下与进程进行交互
16.3 .NET应用程序域
16.4 与默认应用程序域进行交互
16.5 创建新的应用程序域
16.6 对象上下文边界
16.7 进程、应用程序域和上下文小结
16.8 小结
第17章 CIL和动态程序集的作用
17.1 学习CIL语法的原因
17.2 CIL指令、特性和操作码
17.3 入栈和出栈:CIL基于栈的本质
17.4 正反向工程
17.5 CIL指令和特性
17.6 .NET基础类库、C#和CIL数据类型的映射
17.7 在CIL中定义类型成员
17.8 剖析CIL操作码
17.9 使用CIL构建.NET程序集
17.10 动态程序集
17.11 小结
第18章 动态类型和动态语言运行时
18.1 dynamic关键字的作用
18.2 DLR的作用
18.3 使用动态类型简化后期绑定调用
18.4 使用动态数据简化COM互操作
18.5 使用C# 2010的特性进行COM互操作
18.6 小结
第五部分 .NET基础类库
第19章 构建多线程应用程序
第20章 文件输入输出和对象序列化
第21章 ADO.NET之一:连接层
第22章 ADO.NET之二:断开连接层
第23章 ADO.NET之三:Entity Framework
第24章 LINQ to XML简介
第25章 WCF
第26章 Windows Workflow Foundation
4.0简介
第六部分 使用WPF构建桌面用户界面
第27章 WPF和XAML
第28章 使用WPF控件编程
第29章 WPF图形呈现服务
第30章 WPF资源、动画和样式
第31章 WPF控件模板和用户控件
第七部分 使用ASP.NET构建Web应用程序
第32章 构建ASP.NET网页
第33章 ASP.NET Web控件、母版页和主题
第34章 ASP.NET状态管理技术
第八部分 附 录
附录A Windows Forms编程
附录B 使用Mono进行平台无关的.NET开发