第1章 .NET和C#简介
1.1 .NET和C#
1.2 .NET SDK的安装
1.3 Visual Studio 7.0的安装
1.3.1 Visual Studio 7.0系统要求
1.3.2 Visual Studio 7.0安装步骤
1.3.3 Visual Studio 7.0安装中常见问题
第2章 C#语言入门
2.1 “Hello,world”程序
2.2 类型
2.3 变量和参数
2.4 内置变量
2.5 数组类型
2.6 系统统一类型
2.7 自动内存管理
2.8 表达式
2.9 局部常量和局部变量
2.10 语句
2.10.1 if语句
2.10.2 switch语句
2.10.3 while语句
2.10.4 do语句
2.10.5 for语句
2.10.6 foreach语句
2.10.7 break语句和continue语句
2.10.8 return语句
2.10.9 throw语句
2.10.10 try语句
2.10.11 checked和unchecked语句
2.10.12 lock语句
2.10.13 语句标记和goto语句
2.11 类
2.12 结构
2.13 接口
2.14 代表(delegate)
2.15 枚举
2.16 名字空间
2.17 属性
2.18 特性
第3章 编译预处理和C#程序调试
3.1 预处理指令
3.1.1 预处理声明
3.1.2 #if、#elif、#else、#endif
3.1.3 预处理控制行
3.1.4 #line
3.1.5 预定义表达式
3.1.6 要注意的问题
3.1.7 一个条件编译的例子
3.2 保留字
3.3 编译和调试C#程序
3.3.1 命令行编译
3.3.2 用.NET SDK进行调试
3.3.3 使用Visual Studio 7.0提供的集成开发环境
3.3.4 利用Visual Studio 7.0来调试程序
第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 字符串类型
4.2.4 接口类型
4.2.5 数组类型
4.2.6 代表类型
4.3 加框和消框(boxing和unboxing)
4.3.1 boxing加框转化
4.3.2 unboxing消框转化
第5章 表达式与控制语句
5.1 表达式
5.1.1 表达式分类
5.1.2 简单表达式
5.2 函数
5.2.1 函数分类
5.2.2 参数列表
5.3 操作符
5.3.1 操作符的优先级
5.3.2 基本操作符
5.3.3 单目操作符
5.3.4 算术操作符
5.3.5 移位操作符
5.3.6 关系操作符
5.3.7 位逻辑操作符
5.3.8 条件逻辑操作符
5.3.9 操作符的重载
5.3.10 条件语句
5.3.11 赋值语句
5.4 语句
5.4.1 语句块
5.4.2 空语句
5.4.3 标签语句
5.4.4 声明语句
5.4.5 表达式语句
5.4.6 选择语句
5.4.7 循环语句
5.4.8 跳转语句
第6章 名字空间
6.1 名字空间的声明和调用
6.1.1 名字空间的声明
6.1.2 名字空间的使用
6.1.3 using指令
6.1.4 名字空间的别名
6.2 名字空间和基类
第7章 类
7.1 描述类的概念
7.1.1 抽象类(Abstract class)
7.1.2 密封类(Sealed class)
7.1.3 基类(Base classes)
7.2 类成员
7.2.1 类成员声明
7.2.2 继承
7.2.3 new修饰符
7.2.4 权限修饰符
7.2.5 静态和实例成员
7.3 常量
7.4 字段
7.4.1 静态和实例字段(static and instance fields)
7.4.2 只读字段(readonly fields)
7.4.3 常量和静态只读字段的区别
7.5 方法
7.5.1 方法参数(method parameters)
7.5.2 虚拟方法(virtual methods)
7.5.3 重载基类中的方法(override methods)
7.5.4 抽象方法(abstract methods)
7.5.5 外部方法(external methods)
7.6 属性(Properties)
7.6.1 存取标记(accessors)
7.6.2 虚拟、隐藏和抽象标记(virtual、override、abstract accessors)
7.7 事件(Events)
7.8 索引(Indexers)
7.9 操作符(Operators)
7.10 实例构造函数(Instance Constructors)
7.10.1 默认构造函数(default constructors)
7.10.2 私有构造函数(private constructors)
7.11 静态构造函数(Static Constructors)
7.12 析构函数(Destructors)
7.13 一个堆栈类的实现
7.14 .NET的基类
7.14.1 基类查看工具WinCV
7.14.2 处理日期和时间
7.14.3 文件和文件夹的操作
第8章 结构
8.1 结构的声明和使用
8.1.1 结构成员的属性、方法和私有字段
8.1.2 结构作为参数传递
8.1.3 结构的构造函数和继承
8.1.4 结构和特性(Attribute)
8.2 结构的两个例子
8.2.1 数据库整数类型(Database integer type)
8.2.2 数据库布尔类型(Database boolean type)
第9章 数组和枚举
9.1 数组
9.1.1 数组类型(Array types)
9.1.2 数组创建
9.1.3 数组元素访问(Array element access)
9.1.5 数组初始化(Array initializers)
9.1.6 数组举例
9.2 枚举
9.2.1 枚举的声明
9.2.2 枚举成员
第10章 接口
10.1 接口概述
10.2 接口声明
10.2.1 接口修饰符
10.2.2 基本接口
10.3 接口成员
10.3.1 接口成员声明
10.3.2 接口方法
10.3.3 接口属性
10.3.4 接口索引
10.3.5 接口成员访问
10.4 接口实现
10.4.1 接口的实现
10.4.2 接口成员的显式实现
10.4.3 接口重实现
10.4.4 抽象类和接口
第11章 代表
11.1 通过代表调用方法
11.2 定义代表为静态成员
11.3 动态创建代表
11.4 代表合成
11.5 代表和事件
第12章 异常处理
12.1 如何捕获异常
12.1.1 检查(checked)和非检查(unchecked)语句
12.1.2 通过编译器设置溢出检查
12.1.3 在语句中设置溢出检查
12.2 异常处理语句
12.2.1 使用try和catch捕获异常
12.2.2 使用try和finally清除异常
12.2.3 使用try-catch-finally处理所有异常
第13章 C#高级应用
13.1 与COM对象的交互
13.1.1 创建一个非管理COM类包容器
13.1.2 在C#代码中声明一个非管理的COM类(coclasses)
13.1.3 在C#代码中创建一个非管理COM类的实例
13.1.4 C#中的QueryInterface
13.1.5 综合实例
13.2 创建受管理DLL和调用外部DLL
13.2.1 编译和调用一个动态链接库
13.2.2 调用外部DLL库
13.3 代码安全
13.3.1 安全性
13.3.2 安全策略
13.3.3 安全和性能
13.4 ADO对象
13.4.1 数据集的产生
13.4.2 浏览、添加和修改数据
13.5 其他应用(系统服务进程)
第14章 Visual C#设计Windows程序
14.1 常用控件
14.1.1 使用菜单
14.1.2 使用工具栏
14.1.3 设计MDI文档
14.1.4 保存文件对话框和打开文件对话框
14.1.5 打印预览对话框
14.2 综合实例
14.2.1 MDI主窗口源程序Scribble.cs
14.2.2 MDI子窗口源程序ScribbleView.cs
14.2.3 类定义源程序ScribbleView.cs