第1章C#程序设计初步 1
1.1 .NET平台与.NET框架简介 1
1.1.1 .NET平台 1
1.1.2 .NET框架 1
1.1.3编译.NET程序 2
1.2面向对象的理解 3
1.2.1传统的面向过程 3
1.2.2什么是面向对象 4
1.2.3类和对象 5
1.2.4面向对象的三大特性 5
1.3C#语言的特点 6
1.4VisualStudio2008 7
1.4.1安装VisualStudio2008 7
1.4.2介绍VisualStudio2008界面 11
1.5应用程序开发 12
1.5.1开发和运行控制台应用程序 13
1.5.2C#程序的基本结构 14
1.5.3控制台输入/输出 15
1.6获取帮助 15
习题 16
第2章C#语言基础 17
2.1关键字、标识符和编码规则 17
2.1.1关键字 17
2.1.2标识符 18
2.1.3编码规则与约定 18
2.2值类型与引用类型的区别 18
2.3值类型分类 20
2.3.1简单类型 20
2.3.2枚举类型 21
2.3.3结构类型 22
2.4变量 25
2.5常量 26
2.6运算符与表达式 27
2.6.1赋值和相等运算符 27
2.6.2算术运算符 28
2.6.3自增和自减运算符 29
2.6.4关系运算符 29
2.6.5逻辑运算符 30
2.6.6复合赋值运算符 30
2.6.7条件运算符 30
2.7数据类型转换 31
2.7.1隐式转换 31
2.7.2显式转换 32
2.8装箱与拆箱 34
习题 34
第3章C#控制语句 36
3.1选择语句 36
3.1.1if语句 36
3.1.2switch语句 40
3.2循环语句 41
3.2.1while语句 42
3.2.2do-while语句 43
3.2.3for语句 44
3.2.4循环的嵌套 45
3.3跳转语句 46
3.3.1break语句 46
3.3.2continue语句 47
3.3.3return语句 48
3.3.4goto语句 48
习题 49
第4章类与类成员 50
4.1类和对象 50
4.1.1类的声明 50
4.1.2对象 51
4.1.3类的成员 53
4.2字段 54
4.2.1实例字段 54
4.2.2静态字段 57
4.2.3只读字段 59
4.3常量 59
4.4方法 61
4.4.1方法声明 61
4.4.2方法体 62
4.4.3实例方法与静态方法 67
4.4.4方法调用 67
4.4.5参数传递 68
4.4.6方法重载 77
4.4.7方法递归 79
4.5构造函数与析构函数 80
4.5.1实例构造函数 80
4.5.2this关键字 82
4.5.3默认构造函数 84
4.5.4静态构造函数 85
4.5.5析构函数 86
4.6属性 87
4.6.1常规属性 87
4.6.2自动属性 90
4.6.3只读与只写属性 91
4.7索引器 92
4.8命名空间 95
4.8.1为什么要使用命名空间 95
4.8.2创建和使用命名空间 95
4.8.3using指令 97
4.9分部类 98
习题 99
第5章继承与多态 101
5.1继承 101
5.1.1类继承 101
5.1.2访问继承的成员 102
5.1.3Object类 104
5.1.4派生类的构造函数 106
5.2隐藏与重写 110
5.2.1隐藏基类的成员 111
5.2.2访问基类的成员 115
5.2.3重写基类的成员 116
5.3引用类型转换 118
5.3.1派生类与基类 118
5.3.2is运算符 119
5.3.3as运算符 121
5.4多态 122
5.4.1方法绑定 122
5.4.2多态的实现 127
5.5抽象类 130
5.5.1抽象类 130
5.5.2抽象方法 130
5.6接口 133
5.6.1声明接口 134
5.6.2实现接口 135
5.6.3实现多个接口 137
5.6.4接口实现多态 141
5.6.5显示实现接口 142
5.7密封类和静态类 144
5.7.1密封类 144
5.7.2静态类 145
5.8访问修饰符进阶 147
5.9方法进阶 150
5.9.1扩展方法 150
5.9.2外部方法 152
习题 153
第6章异常处理 156
6.1异常介绍 156
6.2引发异常 158
6.3异常的捕捉和处理 159
6.3.1try语句结构 159
6.3.2多个catch语句块 161
6.4整型溢出检查 163
习题 164
第7章字符串 165
7.1String类 165
7.1.1创建字符串 165
7.1.2String类的属性 166
7.1.3String类的方法 167
7.2StringBuilder类 176
7.2.1创建字符串变量 177
7.2.2StringBuilder类的属性 178
7.2.3StringBuilder类的方法 178
7.3正则表达式 179
习题 181
第8章数组与集合 182
8.1声明和创建数组 182
8.1.1声明和创建一维数组 182
8.1.2创建数组 182
8.1.3数组初始化 184
8.1.4多维数组 188
8.1.5交错数组 191
8.2数组与方法 194
8.2.1将数组传递给方法 194
8.2.2参数数组 196
8.2.3返回数组 198
8.3Array类 199
8.3.1数组的复制 199
8.3.2数组排序 200
8.3.3在数组中查找 201
8.4foreach语句 203
8.5常用集合类 205
8.5.1ArrayList类 205
8.5.2Queue类 207
8.5.3Stack类 208
8.5.4Hashtable类 209
习题 211
第9章泛型 212
9.1泛型简介 212
9.2泛型集合 213
9.3泛型类和接口 215
9.3.1泛型类 215
9.3.2泛型接口 216
9.4泛型方法 218
习题 223
第10章委托与事件 224
10.1委托 224
10.1.1定义和使用委托 224
10.1.2组合委托 228
10.1.3匿名方法 228
10.1.4泛型委托 232
10.2事件 233
10.2.1委托的发布和订阅 234
10.2.2事件的发布和订阅 236
10.2.3使用EventHandler类 241
习题 247
第11章文件和流 248
11.1文件和流简介 248
11.2 I/O枚举 249
11.2.1FileAccess枚举 249
11.2.2FileAttributes枚举 249
11.2.3FileMode枚举 250
11.3文件存储管理 250
11.3.1Directory和DirecotoryInfo类 250
11.3.2File和FileInfo类 257
11.3.3字节流 268
11.3.4Stream抽象类 268
11.3.5BufferedStream类 269
11.3.6FileStream类 271
11.3.7MemoryStream类 271
习题 274
参考文献 275