标题：C#深入详解
基本信息
  作者：王寅永，李降宇，李广歌　编著
ISBN：10位［7121063190］ 13位［9787121063190］
出版社：电子工业出版社
出版日期：2008-5-1
定价：￥55.00 元
内容提要
第1章，介绍.NET的基础体系结构，让读者了解相关的基础知识。第2章，介绍C#语言开发环境的搭建和使用。第3章，教读者开发第一个 C#程序，亲身体验C#语言的开发、运行过程。第4章，介绍C#语言的基本知识，包括数据结构、运算符、基本语法等内容。第5章，介绍面向对象的基本理论和思想。第6章，介绍C#语言的类、方法、属性、事件等相关内容。第7章，深入学习C#语言，掌握接口、委托、索引器、线程等内容。第8章，学习C#语言对于文件的操作、数据库的相关操作、XML文件的操作。第9章，通过2个大型实例项目中数据结构的设计、系统结构的设计，以及源码内容的介绍，让读者全面深入了解C#语言。
本书内容丰富，结构清晰，通过300多个独家精彩实例和2个大型真实项目示例，帮助开发人员从实践中成长。本书是C#初学者的入门指导书，同样适合具备一定编程经验的开发人员。
编辑推荐
编程是一个创造性的活动，无论你是初学者还是编程高手都会遇到问题，只要在遇到问题的时候，多问自己几个为什么，然后自己动手、动脑去解决这些问题，并且很好地积累这些经验教训，你的技术能力就会越来越强。
——王寅永、李降宇
作者简介
具有十多年的各类软件开发及应用集成的项目经验和管理经验。曾主持或参与了数十项大中型信息工程项目，对软件工程有独到的理解和体验，参加了工程中的各种实践工作，对软件编码、系统分析、总体设计，项目实施过程等方面都有清晰的了解与认识，积累了丰富的工程经验。同时，近年来在继续项目开发的同时，从事职业培训兼职技术讲师，深刻体会到企业用人需求与大学生学习知识的脱节，在教育教学方面积累了丰富的经验。具有严谨、细致、责任心强的科学作风和敬业精神。
目录
第1章 .NET基础体系结构 
1.1 什么是.NET 
1.2 我们为什么需要.NET技术 
1.3 什么是.NET Framework 
1.4 .NET和J2EE的相同点和不同点 
1.5 .NET和C# 之间的关系 
1.6 C#语言的特点 
1.7 C#程序的编译运行 
1.7.1 什么是CLI 
1.7.2 什么是CLR 
1.7.3 什么是IL 
1.7.4 C#程序是如何编译运行的 
第2章 C#开发环境 
2.1 C#语言需要的开发工具 
2.2 软件的安装、卸载 
2.2.1 安装Visual Studio 2005需要的软、硬件配置 
2.2.2 安装Visual Studio 2005需要的权限设置 
2.2.3 并行安装Visual Studio版本 
2.2.4 进行.NET Framework版本的并行安装 
2.2.5 安装IIS 
2.2.6 安装Visual Studio 2005 
2.2.7 卸载 
2.3 Visual Studio 2005开发环境实际应用 
2.3.1 管理解决方案、项目和文件 
2.3.1.1 创建解决方案 
2.3.1.2 创建解决方案的目录 
2.3.1.3 更改或添加默认编辑器 
2.3.1.4 升级使用Visual Studio .NET2002或Visual Studio .NET2003创建的项目 
2.3.1.5 设置启动项目 
2.3.1.6 修改项目属性和配置设置 
2.3.1.7 添加新项目项 
2.3.1.8 复制项目 
2.3.1.9 删除或移除项目 
2.3.1.10 卸载和重新加载项目 
2.3.1.11 移动项 
2.3.1.12 刷新解决方案资源管理器中的项 
2.3.1.13 如何重命名解决方案、项目和项 
2.3.2 项目属性 
2.3.2.1 指定程序集信息 
2.3.2.2 更改程序集名称 
2.3.2.3 更改应用程序的命名空间 
2.3.2.4 启用或禁用编译器警告 
2.3.2.5 更改应用程序的生成位置 
2.3.2.6 为项目生成XML文档 
2.3.2.7 设置编译常量 
2.3.2.8 针对特定的CPU类型优化应用程序 
2.3.2.9 在Visual Studio中添加或移除引用 
2.3.2.10 设置引用的Copy Local属性 
2.3.2.11 添加或移除字符串资源 
2.3.2.12 访问设置事件 
2.3.2.13 对应用程序和部署清单进行签名
2.3.2.14 对程序集进行签名 
2.3.2.15 设置引用路径 
2.3.2.16 设置生成属性 
2.3.2.17 指定生成事件 
2.3.3 编辑代码和资源文件 
2.3.3.1 选择和更改文本 
2.3.3.2 显示代码大纲和隐藏代码 
2.3.3.3 在编辑器中管理自动换行 
2.3.3.4 在编辑器中显示行号 
2.3.3.5 在编辑器中将URL显示为链接 
2.3.3.6 以递增方式搜索文档 
2.3.3.7 交互式搜索 
2.3.4 生成、调试和测试 
2.3.4.1 启用/禁用实时调试 
2.3.4.2 设置简单断点 
2.3.4.3 启用SQL Server 2005调试 
2.3.4.4 更改应用程序调试的启动操作 
2.3.4.5 设置应用程序调试的启动选项 
2.3.4.6 启用远程调试 
第3章 编写第一个C#程序 
3.1 C#程序的常规结构 
3.2 Main()和命令行参数 
3.2.1 运用命令行参数 
3.2.2 使用foreach访问命令行参数 
3.2.3 Main()返回值标识 
3.3 学习第一个C#程序 
3.3.1 编写第一个C#代码 
3.3.2 程序添加注释 
3.3.3 编译程序 
第4章 C#程序设计之基础知识 
4.1 数据类型 
4.1.1 C#的数据类型 
4.1.2 C#值类型 
4.1.2.1 C#值类型介绍——bool类型 
4.1.2.2 值类型介绍——byte类型 
4.1.2.3 值类型介绍——char类型 
4.1.2.4 值类型介绍——decimal类型 
4.1.2.5 值类型介绍——double类型 
4.1.2.6 值类型介绍——enum类型 
4.1.2.7 值类型介绍——float类型 
4.1.2.8 值类型介绍——int类型 
4.1.2.9 值类型介绍——long类型 
4.1.2.10 值类型介绍——sbyte类型 
4.1.2.11 值类型介绍——short类型 
4.1.2.12 值类型介绍——struct类型 
4.1.2.13 值类型介绍——uint类型 
4.1.2.14 值类型介绍——ulong类型 
4.1.2.15 值类型介绍——ushort类型 
4.1.3 引用类型包括的内容 
4.2 语句 
4.2.1 C#语言的语句类型 
4.2.1.1 选择语句——if-else定义及使用 
4.2.1.2 选择语句——switch定义及使用 
4.2.1.3 迭代语句——do定义及使用 
4.2.1.4 迭代语句——for定义及使用 
4.2.1.5 迭代语句——foreach定义及使用 
4.2.1.6 迭代语句——while定义及使用 
4.2.1.7 跳转语句——break定义及使用 
4.2.1.8 跳转语句——continue定义及使用 
4.2.1.9 跳转语句——goto定义及使用 
4.2.1.10 跳转语句——return定义及使用 
4.2.1.11 异常处理语句——throw定义及使用 
4.2.1.12 异常处理语句——try-catch定义及使用 
4.2.1.13 异常处理语句——try-finally定义及使用 
4.2.1.14 异常处理语句——try-catch -finally定义及使用 
4.2.1.15 检查处理语句——Checked定义及使用 
4.2.1.16 检查处理语句——unchecked定义及使用 
4.2.1.17 Fixed语句定义及使用 
4.2.1.18 lock语句定义及使用 
4.3 运算符 
4.3.1 C#运算符定义 
4.3.1.1 [ ]运算符定义和应用 
4.3.1.2 ( )运算符定义和应用 
4.3.1.3 (.)运算符定义和应用 
4.3.1.4 (::)运算符定义和应用 
4.3.1.5 +运算符定义和应用 
4.3.1.6 运算符定义和应用 
4.3.1.7 *运算符定义和应用 
4.3.1.8 /运算符定义和应用 
4.3.1.9 %运算符定义和应用 
4.3.1.10 &运算符定义和应用 
4.3.1.11 |运算符定义和应用 
4.3.1.12 ^运算符定义和应用 
4.3.1.13 !运算符定义和应用 
4.3.1.14 ~运算符定义和应用 
4.3.1.15 =运算符定义和应用 
4.3.1.16 <运算符定义和应用 
4.3.1.17 >运算符定义和应用 
4.3.1.18 ?:运算符定义和应用 
4.3.1.19 ++运算符定义和应用 
4.3.1.20 运算符定义和应用 
4.3.1.21 &&运算符定义和应用 
4.3.1.22 ||运算符定义和应用 
4.3.1.23 <<运算符定义和应用 
4.3.1.24 >>运算符定义和应用 
4.3.1.25 ==运算符定义和应用 
4.3.1.26 !=运算符定义和应用 
4.3.1.27 <=运算符定义和应用 
4.3.1.28 >=运算符定义和应用 
4.3.1.29 +=运算符定义和应用 
4.3.1.30 =运算符定义和应用 
4.3.1.31 *=运算符定义和应用 
4.3.1.32 /=运算符定义和应用 
4.3.1.33 %=运算符定义和应用 
4.3.1.34 &=运算符定义和应用 
4.3.1.35 |=运算符定义和应用 
4.3.1.36 ^=运算符定义和应用 
4.3.1.37 <<=运算符定义和应用 
4.3.1.38 >>=运算符定义和应用 
4.3.1.39 ->运算符定义和应用 
4.3.1.40 ??运算符定义和应用 
4.4 数组 
4.4.1 数组的定义和标识 
4.4.2 一维数组的定义标识 
4.4.3 一维数组初始化 
4.4.4 多维数组的定义和标识 
4.4.5 多维数组的初始化 
4.4.6 交叉数组的定义和标识 
4.4.7 在数组使用foreach 
4.4.8 将一维数组作为参数传递 
4.4.9 将多维数组作为参数传递 
4.4.10 使用ref和out传递数组 
4.5 字符串 
4.5.1 字符串的定义和标识 
4.5.2 访问字符串的字符 
4.5.3 连接字符串 
4.5.4 字符串进行比较 
4.5.5 使用Split方法分析字符串 
4.5.6 使用字符串方法搜索字符串 
4.5.7 修改字符串内容 
4.6 命名空间 
4.6.1 命名空间的定义和标识 
4.6.2 访问命名空间 
4.6.3 使用命名空间别名 
4.6.4 使用命名空间来控制范围 
4.7 C#预处理器指令 
4.7.1 C#预处理的指令种类 
4.7.2 预定义指令——#if的定义和应用 
4.7.3 预定义指令——#else的定义和应用 
4.7.4 预定义指令——#elif的定义和应用 
4.7.5 预定义指令——#endif的定义和应用 
4.7.6 预定义指令——#define的定义和应用
4.7.7 预定义指令——#undef的定义和应用 
4.7.8 预定义指令——#warning的定义和应用 
4.7.9 预定义指令——#error的定义和应用
4.7.10 预定义指令——#line的定义和应用 
4.7.11 预定义指令——#region的定义和应用 
4.7.12 预定义指令——#endregion的定义和应用 
4.7.13 预定义指令——#pragme的定义和应用 
4.7.14 预定义指令——#pragmewarning的定义和应用 
4.7.15 预定义指令——#pragme checksum的定义和应用 
第5章 面向对象的程序设计思想 
5.1 面向对象的基本概念 
5.1.1 对象的概念 
5.1.2 面向对象技术的由来 
5.2 面向对象的模型技术 
5.2.1 对象模型技术 
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 面向对象设计的几个步骤 
第6章 面向对象的C#语言 
6.1 类（class） 
6.1.1 类的概念 
6.1.2 类的标识 
6.1.3 类的特点 
6.1.4 使用类创建对象 
6.1.5 类的继承 
6.1.6 类的修饰符
6.1.7 静态类 
6.1.7.1 静态类的概念 
6.1.7.2 静态类的特点 
6.1.7.3 使用静态类 
6.1.8 类的成员 
6.1.8.1 类成员的概念 
6.1.8.2 类的成员——this保留字的运用 
6.1.8.3 类的成员——静态成员的标识 
6.1.8.4 类的成员——静态成员和非静态成员的区分 
6.1.8.5 类的成员——成员常量 
6.1.9 构造函数 
6.1.9.1 构造函数的使用 
6.1.9.2 实例构造函数 
6.1.9.3 私有构造函数 
6.1.9.4 静态构造函数 
6.1.9.5 复制构造函数 
6.1.10 析构函数 
6.2 方法 
6.2.1 方法的标识 
6.2.2 方法返回值 
6.2.3 方法中的参数类型 
6.2.4 静态和非静态的方法 
6.3 结构 
6.3.1 结构的标识 
6.3.2 结构的特点 
6.3.3 使用结构 
6.3.4 传递结构与传递类实例 
6.4 继承 
6.4.1 继承的概念 
6.4.2 继承的标识 
6.4.3 base保留字的使用 
6.4.4 抽象类和密封类 
6.4.5 多态 
6.5 属性 
6.5.1 属性的概念 
6.5.2 接口属性的使用 
6.5.3 非对称访问器的使用 
6.6 事件 
6.6.1 事件的概念 
6.6.2 使用事件 
6.6.3 创建响应事件的控件 
6.6.4 接口中声明一个事件并类中实现该事件 
6.6.5 在Visual C#代码编辑器中创建事件处理程序 
第7章 深入了解C# 
7.1 接口 
7.1.1 接口的概念 
7.1.2 接口的标识 
7.1.3 显式接口的实现 
7.1.4 显式实现接口成员 
7.2 委托 
7.2.1 委托的概念 
7.2.2 委托的应用 
7.2.3 委托中命名方法的应用 
7.2.4 委托中匿名方法的应用 
7.2.5 使用委托而不使用接口 
7.2.6 合并委托 
7.3 索引器 
7.3.1 索引器的概念 
7.3.2 索引器的应用 
7.3.3 接口中使用索引器 
7.3.4 属性和索引器之间的不同点和相同点 
7.4 迭代器 
7.4.1 迭代器的概念 
7.4.2 迭代器的标识 
7.4.3 为整数列表创建迭代器块 
7.4.4 为泛型列表创建迭代器块 
7.5 线程 
7.5.1 线程的概念 
7.5.2 线程的应用 
7.5.3 应用线程进行同步 
7.5.4 创建和终止线程 
7.5.5 针对制造者线程和使用者线程进行同步 
7.5.6 使用线程池 
7.6 反射 
7.6.1 反射的概念
7.6.2 反射的应用 
……