第1章 C#语言基础
1.1 C#的由来
1.2 了解.NET
1.3 熟悉开发环境
1.3.1 长文件名
1.3.2 控制台方式
1.4 安装C#编译器
1.5 选择一个C#编辑器
1.6 编译和运行第一个C#应用程序
1.7 C#应用程序的基本结构
1.8 本章小结
1.9 本章习题
第2章 数据类型
2.1 数据类型简介
2.2 变量和常量
2.2.1 变量
2.2.2 常量
2.3 数值类型
2.3.1 整数类型
2.3.2 浮点数类型
2.3.3 小数类型
2.3.4 字符类型
2.3.5 布尔类型
2.3.6 简单数值类
2.4 引用类型
2.4.1 对象类型
2.4.2 字串类型
2.5 变量赋初值
2.6 数据类型转换
2.6.1 数值类型的隐式转换
2.6.2 数值类型的显式转换
2.6.3 打包转换
2.6.4 拆包转换
2.7 本章小结
2.8 本章习题
第3章 运算符和表达式
3.1 概述
3.2 算术运算符和算术表达式
3.2.1 递增和递减运算符
3.2.2 正负运算符
3.2.3 乘法和除法运算符
3.2.4 取余运算符
3.2.5 加法和减法运算符
3.3 关系运算符和关系表达式
3.3.1 比较运算符
3.3.2 等式运算符
3.3.3 is运算符
3.4 逻辑运算符和逻辑表达式
3.5 位运算符
3.5.1 位运算基础
3.5.2 位运算符及表达式
3.5.3 位运算举例
3.6 条件运算符及表达式
3.6.1 ?:运算符
3.6.2 “as”运算符
3.7 赋值运算符及赋值表达式
3.8 其他运算符
3.8.1 new运算符
3.8.2 sizeof
3.8.3 typeof
3.8.4 checked和 unchecked
3.9 运算符的优先级
3.10 本章小结
3.11 本章习题
第4章 控制台输入和输出
4.1 概述
4.2 Format方法和ToString方法
4.3 数据格式
4.3.1 标准格式字串
4.3.2 自定义格式字串
4.4 Parse方法
4.5 日期和时间数据格式化
4.5.1 DateTime类概述
4.5.2 格式化日期时间数据
4.6 数据输入
4.6.1 Console.Read方法
4.6.2 Console.ReadLine方法
4.7 数据输出
4.7.1 Console.Write方法
4.7.2 Console.WriteLine方法
4.8 程序举例
4.9 本章小结
4.10 本章习题
第5章 选择和循环结构
5.1 程序的基本结构
5.2 选择结构
5.2.1 if语句
5.2.2 switch语句
5.3 循环结构
5.3.1 使用goto语句和if语句构成循环
5.3.2 while语句
5.3.3 do-while语句
5.3.4 for语句
5.3.5 foreach-in语句
5.3.6 循环的嵌套
5.3.7 几种循环语句的比较
5.4 break语句
5.5 continue语句
5.6 程序举例
5.7 本章小结
5.8 本章习题
第6章 数 组
6.1 一维数组
6.1.1 一维数组的声明
6.1.2 一维数组元素的使用
6.1.3 一维数组的初始化
6.1.4 一维数组应用举例
6.2 多维数组
6.2.1 多维数组的声明
6.2.2 多维数组元素的使用
6.2.3 多维数组的初始化
6.2.4 程序举例
6.3 AoA数组
6.3.1 AoA数组的声明
6.3.2 AoA数组元素的使用
6.3.3 AoA数组的初始化
6.4 System.Array类
6.4.1 Array类的属性
6.4.2 使用Array类构造数组
6.4.3 Array类的方法
6.5 本章小结
6.6 本章习题
第7章 面向对象和类
7.1 面向对象编程简介
7.2 命名空间
7.2.1 命名空间的声明
7.2.2 命名空间的使用
7.3 声明自己的类
7.3.1 面向对象的初步设计
7.3.2 封装数据
7.3.3 构造和析构
7.3.4 方法
7.3.5 使用定义的类
7.4 域
7.4.1 域的声明
7.4.2 只读域
7.5 属性
7.6 索引
7.7 重载
7.7.1 重载的一般概念
7.7.2 方法的参数
7.7.3 运算符重载
7.8 本章小结
7.9 本章习题
第8章 继 承
8.1 继承的初步
8.1.1 派生Manager类
8.1.2 base关键字
8.1.3 禁止继承
8.1.4 保护访问
8.1.5 内部访问
8.1.6 成员访问级别
8.2 多态性和虚成员
8.3 抽象类
8.4 造型(Cast)
8.5 本章小结
8.6 本章习题
第9章 接口和代理
9.1 接口
9.1.1 接口的声明
9.1.2 接口的使用
9.1.3 接口与抽象类的比较
9.1.4 System命名空间的常用接口
9.1.5 程序举例
9.2 代理
9.2.1 代理的声明
9.2.2 代理的使用
9.2.3 System.Delegate类
9.2.4 事件(Event)
9.3 本章小结
9.4 本章习题
第10章 结构和枚举
10.1 结构
10.1.1 结构的声明
10.1.2 结构的使用
10.1.3 结构和类的区别
10.2 枚举
10.2.1 枚举的声明
10.2.2 枚举的使用
10.2.3 System.Enum类
10.3 本章小结
10.4 本章习题
第11章 异常和异常处理
11.1 概述
11.2 异常控制
11.2.1 抛出异常
11.2.2 捕捉异常
11.2.3 捕捉和控制多个异常
11.2.4 finally语句
11.3 自定义异常类
11.3.1 System.Exception类
11.3.2 System命名空间的异常类
11.3.3 使用自定义异常类
11.4 本章小结
11.5 本章习题
第12章 编译预处理和程序调试
12.1 编译预处理
12.1.1 符号声明
12.1.2 条件编译
12.1.3 #warning 和#error关键字
12.1.4 #line关键字
12.1.5 #region 和#endregion关键字
12.2 C#源程序的调试
12.3 本章小结
12.4 本章习题
第13章 不安全代码
13.1 概述
13.2 不安全代码模块
13.2.1 指针变量的声明
13.2.2 unsafe关键字
13.2.3 fixed关键字
13.3 在C#语言中使用指针
13.3.1 指向数组的指针
13.3.2 指向结构的指针
13.3.3 sizeof运算符
13.3.4 stackalloc关键字
13.4 本章小结
13.5 本章习题
第14章 代码属性
14.1 声明代码属性类
14.2 System.AttributeTagets枚举
14.3 System.ArrtibuteUsage类
14.3.1 AttributeUsage类的代码属性
14.3.2 AttributeUsage类的构造器
14.3.3 使用AttributeUsage类
14.4 条件代码属性和作废代码属性
14.4.1 条件代码属性
14.4.2 作废代码属性
14.5 外部方法和DllImport代码属性
14.6 自定义代码属性类
14.7 使用自定义代码属性类
14.8 本章小结
14.9 本章习题
附录1 C#语言关键字
附录2 部分习题提示与参考答案