第1章 简单的C#程序 1.1 C#语言简介 1.1.1 C#的产生与发展 1.1.2 C#的环境--Microsoft.NET 1.1.3 C#的特点 1.1.4 C#和C、C++的比较 1.1.5 C# 与Java 的比较 1.2 简单的C#程序及其构成 1.2.1 简单的控制台程序 1.2.2 简单的窗口应用程序 1.2.3 C#程序的基本构成 1.2.4 一些特定的要素简介 1.2.5 一个较完整的C#程序 1.3 C#开发工具及开发步骤 1.3.1 .NET Framework SDK 1.3.2 程序的编辑、编译与运行 1.3.3 辅助工具EditPlus 1.3.4 集成工具SharpDevelop 1.3.5 用Visual Studio.NET编写控制台应用程序 1.3.6 用Visual Studio.NET编写Windows应用程序 1.4 C#程序中的基本输入与输出 1.4.1 字符界面的输入输出 1.4.2 图形界面输入输出 1.5 面向对象程序设计的基本概念 1.5.1 面向对象概述 1.5.2 对象、类与实体 1.5.3 封装、继承、多态 1.5.4 面向对象的软件开发过程 第2章 数据运算、流控制、数组 2.1 数据类型、变量与常量 2.1.1 数据类型 2.1.2 标识符、关键字 2.1.3 字面常量 2.1.4 变量 2.1.5 C#编码惯例与注释 2.2 运算符与表达式 2.2.1 算术运算符 2.2.2 关系运算符 2.2.3 逻辑运算符 2.2.4 位运算符 2.2.5 赋值与强制类型转换 2.2.6 条件运算符 2.2.7 运算的优先级、结合性 2.3 流程控制语句 2.3.1 结构化程序设计的三种基本流程 2.3.2 简单语句 2.3.3 分支语句 2.3.4 循环语句 2.3.5 跳转语句 2.4 数组 2.4.1 数组的声明 2.4.2 数组的初始化 2.4.3 数组元素的使用 2.4.4 数组与System.Array 2.4.5 使用foreach访问数组 2.4.6 数组程序举例 第3章 类、接口与结构 3.1 类、域、方法 3.1.1 定义类中的域和方法 3.1.2 构造方法与析构方法 3.1.3 对象的创建与使用 3.1.4 方法的重载 3.1.5 使用this 3.2 属性、索引 3.2.1 属性 3.2.2 索引 3.3 类的继承 3.3.1 派生子类 3.3.2 域的继承、添加与隐藏 3.3.3 方法的继承、添加与覆盖 3.3.4 使用base 3.3.5 父类与子类的转换以及as运算符 3.3.6 属性、索引的继承 3.4 修饰符 3.4.1 访问控制符 3.4.2 static 3.4.3 const及readonly 3.4.4 sealed及abstract 3.4.5 new、virtual、override 3.4.6 一个应用模型--单子(Singleton) 3.5 接口 3.5.1 接口的概念 3.5.2 定义接口 3.5.3 实现接口 3.5.4 对接口的引用 3.5.4 显式接口成员实现 3.6 结构、枚举 3.6.1 结构 3.6.2 枚举 第4章 深入理解C#语言 4.1 类型及转换 4.1.1 值类型及引用类型 4.1.2 值类型的转换 4.1.3 引用类型转换 4.1.4 装箱与拆箱 4.2 变量及其传递 4.2.1 域变量与局部变量 4.2.2 按值传递的参数 4.2.3 ref参数及out参数 4.2.4 params参数 4.2.5 变量的返回 4.3 多态与虚方法调用 4.3.1 上溯造型 4.3.2 虚方法调用 4.4 动态类型确定 4.4.1 typeof及GetType 4.4.2 is运算符 4.4.3 反射及动态类型创建 4.4.4 ==及!=运算符 4.5 对象构造与析构 4.5.1 调用本类或父类的构造方法 4.5.2 构造方法的执行过程 4.5.3 静态构造方法 4.5.4 析构方法与垃圾回收 4.4.5 显式资源管理与IDisposable 第5章 C#高级特性 5.1 名字空间、嵌套类型、程序集 5.1.1名字空间 5.1.2 嵌套类型 5.1.3 程序集 5.2 指代与事件 5.2.1 指代 5.2.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.4.4 重抛异常及异常链接 5.4.5 算术溢出与checked 5.5 Attribute 5.5.1 使用系统定义的Attribute 5.5.2 自定义Attribute 5.6 C#语言中的其他成分 5.6.1 编译预处理 5.6.2 unsafe及指针 5.6.3 其他关键字 5.6.4 C#几个语法的小结 第6章 基础类及常用算法 6.1 C#语言基础类 6.1.1 .NET Framework基础类库 6.1.2 Object类 6.1.3 简单数据类型及转换 6.1.4 Math类及Random类 6.1.5 DateTime类及TimeSpan类 6.1.6 Console类 6.2 字符串 6.2.1 String类 6.2.2 StringBuilder类 6.2.3 数据的格式化 6.3 集合类 6.3.1 ICollection接口及元素的遍历 6.3.2 IList接口及ArrayList类 6.3.3 IDictionary接口及Hashtable类 6.3.4 SortedList 6.3.5 Stack 6.3.6 Queue 6.3.7 其他集合类 6.4 排序与查找 6.4.1 IComparable接口和IComparer接口 6.4.2 使用Array类进行排序与查找 6.4.3 集合类中的排序与查找 6.4.4 冒泡排序 6.4.5 选择排序 6.4.6 快速排序 6.5 遍试、迭代、递归 6.5.1 遍试 6.5.2 迭代 6.5.3 递归 第7章 流、文件及基于文本的应用 7.1 流及二进制输入输出 7.1.1 流 7.1.2 使用流进行二进制输入输出 7.2 文本输入输出 7.2.1 使用Reader和Writer的文本I/O 7.2.2 标准输入输出 7.2.3 应用举例 7.3 文件及目录 7.3.1 文件与目录管理 7.3.2 监控文件和目录的改动 7.4 文本及正则表达式 7.4.1 文本名字空间 7.4.2 正则表达式 7. 5 环境参数及事件日志 7.5.1 命令行参数 7.5.2 获得环境参数 7.5.3 程序的追踪 7.5.4 使用事件日志 第8章 Windows窗体及控件 8.1 Windows窗体应用程序概述 8.1.1 Windows图形用户界面 8.1.2 创建Windows窗体 8.1.3 添加控件 8.1.4 设定布局 8.1.5 事件处理 8.2 常用控件 8.2.1 Control类 8.2.2 标签与按钮 8.2.3 文本框 8.2.4 列表框、UpDown控件 8.2.5 滚动条、进度条 8.2.6 定时器、时间、日历类 8.2.7 图片框 8.2.8 其他几个控件 8.3 一些容器类控件 8.3.1 Panel控件 8.3.2 ImageList控件 8.3.3 TreeView控件 8.3.4 ListView控件 8.3.5 TabControl控件 8.3.6 使用Spliter控件 8.4 窗体及对话框 8.4.1 Form类 8.4.2 窗体的创建 8.4.3 使用Form作对话框 8.4.4 通用对话框 8.4.5 显示消息框 8.5 MDI窗体、菜单、工具栏 8.5.1 MDI窗体 8.5.2 菜单 8.5.3 使用主菜单及上下文菜单 8.5.4 工具栏 8.5.5 状态栏 8.5.6 一个综合的例子 第9章 绘图及图像 9.1 绘图基础支持类 9.1.1 位置及大小 9.1.3 颜色 9.1.4 画笔 9.1.4 刷子 9.2 绘图 9.2.1 Graphics类 9.2.2 获得Graphics对象 9.2.3 进行绘图的一般步骤 9.2.4 坐标变换 9.2.5 处理重绘和无效操作 9.3 字体 9.3.1 Font类 9.3.2 使用字体来绘制文本 9.4 图像 9.4.1 与图像相关的类 9.4.2 在窗体上显示图像 9.4.3 窗体、图片框上的图标及图像 9.5 在自定义控件中使用绘图 9.5.1 自定义控件 9.5.2 在自定义控件中使用绘图 第10章 C#的高级应用 10.1 多线程编程 10.1.1 多线程的相关概念 10.1.2 线程的创建与控制 10.1.3 线程的同步 10.1.4 集合的线程安全性 10.1.5 其他实现线程的方式 10.2 ADO.NET数据库编程 10.2.1 ADO.NET简介 10.2.2 数据集 10.2.3 连接到数据源 10.2.4 使用DataAdapter和DataSet 10.2.5 使用Command和DataReader 10.2.6 使用数据绑定控件 10.2.7 使用Visual Studio.NET的数据工具 10.3 ASP.NET及Web编程 10.3.1 ASP.NET概述 10.3.2 Web窗体与控件 10.3.3 Web应用程序举例 10.3.4 Mobile手机上网程序 10.4 XML 及Web Service编程 10.4.1 XML基本概念 10.4.2 XML编程 10.4.3 Web Service基本概念 10.4.4 Web Service的创建和调用 10.5 网络通讯编程 10.5.1 使用System.Net 10.5.2 TcpClient及TcpListener 10.5.3 Email编程 10.6 C#程序与其他程序的互操作 10.6.1 C#、VB.NET、JScript的互操作 10.6.2 C#中使用Win32 API 10.6.3 C#中使用COM和ActiveX