译者序
前言
第一部分 .NET环境和C#
第1章 C#和.NET简介
1.1 何时使用C#和C++
1.2 .NET和其他开发环境的区别
1.3 使用公共语言运行时
1.4 查看中间语言代码
1.5 利用实时调试
1.6 利用.NET与COM的互操作特性
1.7 通过.NET版本控制来处理软件更新
1.8 使用.NET反射机制获取类的相关信息
第2章 在Visual Studio .NET中开发C#应用程序
2.1 使用Visual Studio .NET的“选项”对话框
2.2 定制工具栏和菜单
2.3 在工具菜单中增加菜单项
2.4 测试驱动Visual Studio .NET
2.5 使用属性窗口
2.6 使用智能提示
2.7 获取帮助
第二部分 C# 语言
第3章 C#的预备知识
3.1 使用C#库类
3.2 创建命令行程序
3.3 在命令行程序中添加引用
3.4 与C++的比较
3.5 创建Windows程序
3.6 与Visual Basic的比较
3.7 理解空白和标记
3.8 注释代码
3.9 用XML注释文档化代码
3.10 使用C#调试器
3.11 使用输出窗口和任务列表窗口
3.12 解析任务列表窗口
3.13 编写和使用自己的名称空间
3.14 使用Console类
3.15 格式化输出和字符串
3.16 使用预处理命令
第4章 C#基础
4.1 理解值类型变量
4.2 理解引用类型变量
4.3 编写表达式
4.4 编写语句
4.5 使用托管代码
4.6 使用逻辑操作符
4.7 使用关系、相等和条件操作符
4.8 使用赋值操作符
4.9 理解C#的类型操作符
4.10 使用unsafe代码
4.11 使用sizeof操作符
4.12 装箱和拆箱
4.13 使用checked和unchecked语句
4.14 编写循环
4.15 使用程序控制语句
4.16 理解C#中的作用域
第5章 C#中的数据类型
5.1 在C#中定义结构
5.2 声明和使用简单数据类型
5.3 创建枚举列表
5.4 使用引用类型
5.5 C#类的基础概念
5.6 在C#中声明数组
5.7 理解接口
5.8 使用代理来创建回调函数
5.9 使用object数据类型
5.10 向函数传递参数
5.11 使用字段和属性
5.12 使用内部字符串表来降低内存消耗
5.13 C#中的字符串编码
5.14 C#中的数据转换
第6章 C#中的结构
6.1 定义结构
6.2 以值类型对象来使用结构
6.3 以引用的方式使用结构
6.4 在结构中增加函数
6.5 在结构中添加属性
第7章 理解C#类
7.1 使用内建类
7.2 使用this关键字来引用当前对象
7.3 使用访问关键字保护类成员
7.4 使用类的成员方法和属性
7.5 使用static修饰符修饰类成员
7.6 声明构造函数和析构函数
7.7 创建常量和只读字段
7.8 在类中嵌套其他的类
7.9 重载和名字隐藏
第8章 C#语言和面向对象编程
8.1 封装数据
8.2 从基类中继承
8.3 设计基类
8.4 隐藏基类的成员
8.5 按次序调用构造函数和析构函数
8.6 使用sealed修饰符来禁止继承
8.7 多态:使用虚方法来改变类的行为
8.8 使用虚属性
8.9 定义抽象类
8.10 声明抽象函数
8.11 使用对象浏览器
8.12 设置浏览范围
8.13 使用对象面板
8.14 使用成员面板
8.15 使用对象浏览器进行导航
8.16 搜索符号
第9章 异常处理
9.1 在CLR中使用异常处理
9.2 使用try和catch代码块
9.3 捕获异常
9.4 使用多重catch代码块
9.5 使用异常类
9.6 抛出异常
9.7 异常块的作用域
9.8 使用带有checked变量的异常
9.9 在异常块中结束程序
9.10 理解finally代码块
第10章 C#高级特性
10.1 嵌套的名称空间
10.2 使用using指令来指定名称空间
10.3 深入了解using语句
10.4 添加引用
10.5 创建模块文件
10.6 创建共享配件
10.7 使用C#接口定义抽象行为
10.8 使用反射机制获取运行时信息
10.9 动态调用对象
10.10 创建执行线程
第11章 使用C#数组
11.1 初始化数组
11.2 使用多维数组
11.3 使用不规则数组
11.4 使用System.Array类
11.5 数组的搜索和排序
11.6 使用Copy()方法来复制数组值
11.7 使用对象数组
11.8 使用索引器
11.9 索引器的工作机制
11.10 声明索引器
11.11 使用C#的索引器向导
第12章 文件操作
12.1 使用FileStream类
12.2 使用MemoryStream类创建临时存储空间
12.3 使用NetworkStream类创建网络连接
12.4 使用BufferedStream类缓冲流的输入输出
12.5 执行异步I/O
12.6 用Null字段作为位存储桶删除无用的数据
12.7 使用TextReader和TextWriter抽象类
12.8 使用StreamReader和StreamWriter类
12.9 使用FileOpen通用对话框打开文件
12.10 使用File和FileInfo类
12.11 获取和设置目录
第三部分 用C#进行Windows编程
第13章 编写Windows应用程序
13.1 创建基于窗体的应用
13.2 隐藏和显示窗体
13.3 在窗体上添加控件
13.4 向应用程序中添加窗体
13.5 设置Tab键顺序
13.6 设置窗体的属性
13.7 使用模态和非模态窗体
第14章 调试C#程序
14.1 使用DbgCLR.exe调试C#和.NET应用程序
14.2 使用实时调试工具来调试.Net应用程序
14.3 在Visual Studio调试器中运行程序
14.4 设置断点来暂停执行程序
14.5 在方法中设置条件
14.6 恢复堆栈跟踪信息
14.7 使用调试类
14.8 使用跟踪侦听器
14.9 将调试信息写入事件日志中
第15章 创建用户界面
15.1 在窗体上添加菜单
15.2 使用菜单设计器
15.3 为菜单增加修饰
15.4 增加快捷键
15.5 增加图形
15.6 增加工具栏
15.7 增加上下文菜单
15.8 在树视图控件中显示内容
15.9 在列表视图控件中显示内容
15.10 一个资源管理器风格的应用程序
第16章 使用Windows控件
16.1 设置控件的属性
16.2 使用不可见控件
16.3 响应控件消息
16.4 用一个事件来响应多个控件
16.5 使用空闲进程来使能和禁用控件
16.6 使用GroupBox控件
16.7 单选按钮控件
16.8 锚定窗体中的控件
16.9 在窗体上停靠控件
第17章 使用公用对话框
17.1 选择颜色
17.2 用FontDialog对话框来选择文字的样式
17.3 打开/保存文件
17.4 关于打印
17.5 选择打印机
17.6 设置页面选项
17.7 预览打印输出
第18章 使用代理和事件
18.1 在C#程序中使用事件
18.2 编写事件处理函数
18.3 使用代理给对象排序
18.4 使用静态代理
18.5 查看代理的调用列表
18.6 组合与删除代理中的方法
18.7 响应定时器事件
18.8 响应System.Threading.Timer事件