第1章 C#背景知识 1
1.1 C#的历史 1
前言 1
1.2 Microsoft.NET框架 2
1.3 什么是程序 2
1.4 编程原则 3
1.5 编程陷阱 4
1.6 小结 4
1.7 练习 4
1.8 自测题答案 4
2.2 安装与配置 6
第2章 C#开发环境 6
2.1 简介 6
2.3 创建第一个程序 7
2.4 设计时控件 9
2.5 事件和Button控件 11
2.6 打开一个现有工程 12
2.7 属性设置的文档化 12
2.8 程序错误 13
2.9 编辑器工具 13
2.10 消息对话框 14
2.13 编程陷阱 15
2.14 语法点 15
2.12 编程原则 15
2.11 帮助 15
2.15 新的语言元素 16
2.16 新的IDE工具 16
2.17 小结 16
2.18 练习 16
2.19 自测题答案 17
第3章 图形简介 18
3.1 简介 18
3.2 对象、方法、属性和类的类比 18
3.3 第一次绘图 19
3.4 创建程序 19
3.5 图形坐标系统 20
3.6 解释程序 21
3.7 绘图方法 22
3.8 颜色 24
3.9 顺序概念和语句 25
3.10 使用注释来添加含义 25
3.11 编程原则 26
3.12 编程陷阱 26
3.13 语法要点 26
3.14 新的语言元素 26
3.15 新的IDE工具 27
3.16 小结 27
3.17 练习 27
3.18 自测题答案 27
4.2 int的本质 29
4.1 简介 29
第4章 变量和计算 29
4.3 double的本质 30
4.4 声明变量 30
4.5 赋值语句 33
4.6 计算和运算符 33
4.7 算术运算符 34
4.8 %运算符 36
4.9 使用+运算符连接字符串 37
4.10 字符串和数字之间的转换 38
4.11 文本框和标签 39
4.12 数字之间的转换 41
4.15 编程陷阱 42
4.13 表达式的作用 42
4.14 编程原则 42
4.16 语法要点 43
4.17 新的语言元素 43
4.18 新增的IDE工具 43
4.19 小结 43
4.20 练习 44
4.21 自测题答案 45
第5章 方法和参数 47
5.1 简介 47
5.2 编写自己的方法 47
5.3 第一个方法 48
5.4 调用方法 49
5.5 传递参数 50
5.6 形参和实参 51
5.7 三角形方法 52
5.8 局部变量 54
5.9 命名冲突 54
5.10 事件处理方法 56
5.11 return和结果 56
5.12 构建在方法上 58
5.13 按引用传递参数 60
5.14 out和ref参数 61
5.15 out的例子 61
5.16 ref的例子 63
5.17 一个使用ref的交换方法 64
5.18 this和对象 65
5.19 重载 66
5.20 将对象传递给方法 67
5.21 编程原则 67
5.22 编程陷阱 68
5.23 语法要点 68
5.24 新的语言元素 69
5.25 新的IDE工具 69
5.26 小结 69
5.27 练习 69
5.28 自测题答案 71
6.2 实例变量 73
第6章 使用对象 73
6.1 简介 73
6.3 窗体构造函数 76
6.4 TrackBar类 77
6.5 using和命名空间 79
6.6 成员、方法和属性 80
6.7 Random类 81
6.8 Timer类 83
6.9 编程原则 85
6.10 编程陷阱 85
6.11 语法要点 85
6.14 小结 86
6.15 练习 86
6.13 新的IDE工具 86
6.12 新的语言元素 86
6.16 自测题答案 87
第7章 选择 89
7.1 简介 89
7.2 if语句 89
7.3 if...else 91
7.4 比较运算符 92
7.5 与、或、非 96
7.6 嵌套的if 99
7.7 switch 100
7.8 布尔型变量 104
7.9 编程原则 106
7.10 编程陷阱 106
7.11 语法要点 107
7.12 新的语言元素 108
7.13 小结 108
7.14 练习 108
7.15 自测题答案 110
第8章 循环 113
8.1 简介 113
8.2 while 113
8.3 for 116
8.4 与、或、非 118
8.5 do...while 119
8.6 嵌套循环 121
8.7 组合控制结构 122
8.8 编程原则 122
8.9 编程陷阱 123
8.10 语法要点 123
8.11 新的语言元素 123
8.12 小结 124
8.13 练习 124
8.14 自测题答案 125
9.1.3 运行 128
9.1.1 编译 128
9.1.2 链接 128
9.1 简介 128
第9章 调试 128
9.2 使用调试器 129
9.2.1 断点 129
9.2.2 单步 130
9.3 关于调试的一个案例研究 131
9.4 常见错误 132
9.4.1 编译错误 132
9.4.2 运行时错误 133
9.8 练习 135
9.7 小结 135
9.6 新的IDE工具 135
9.5 编程陷阱 135
9.4.3 逻辑错误 135
第10章 编写类 136
10.1 简介 136
10.2 设计一个类 136
10.3 private变量 138
10.4 public方法 139
10.5 属性 140
10.6 方法或属性 142
10.7 构造函数 143
10.8 多个构造函数 144
10.9 private方法 144
10.10 操作对象 145
10.12 static方法和属性 146
10.11 对象析构 146
10.13 编程原则 147
10.14 编程陷阱 149
10.15 语法要点 149
10.16 新的语言元素 150
10.17 小结 150
10.18 练习 150
10.19 自测题答案 152
第11章 继承 153
11.1 简介 153
11.2 继承 153
11.4 附加项 155
11.3 protected 155
11.5 重写 156
11.6 类图 156
11.7 使用继承 157
11.8 base 158
11.9 构造函数 158
11.10 抽象类 160
11.11 编程原则 161
11.12 编程陷阱 162
11.13 新的语言元素 162
11.14 小结 163
11.15 练习 163
11.16 自测题答案 164
第12章 计算 165
12.1 简介 165
12.2 格式化数字 165
12.3 库数学函数和常量 167
12.4 常量 168
12.5 案例分析——货币 168
12.6 案例分析——迭代 170
12.7 图表 170
12.8 异常 173
12.12 练习 174
12.11 小结 174
12.10 编程陷阱 174
12.9 编程原则 174
12.13 自测题答案 177
第13章 数据结构——列表框和数组列表 178
13.1 简介 178
13.2 数组列表 178
13.3 将数据项添加到列表中 179
13.4 列表长度 180
13.5 索引 180
13.6 从列表删除数据项 181
13.7 在数组列表中插入数据项 181
13.8 查找 182
13.9 对列表框进行运算 183
13.10 搜索 184
13.11 编程原则 185
13.12 编程陷阱 186
13.13 新的语言元素 186
13.14 小结 186
13.15 练习 186
13.16 自测题答案 186
第14章 数组 187
14.1 简介 187
14.2 创建数组 188
14.3 索引 189
14.4 数组的长度 190
14.5 将数组作为参数传递 191
14.6 使用常量 191
14.7 初始化数组 192
14.8 示例程序 193
14.9 查找 194
14.10 搜索 195
14.11 对象数组 196
14.12 编程原则 198
14.13 编程陷阱 198
14.14 语法要点 198
14.15 小结 199
14.16 练习 199
14.17 自测题答案 202
第15章 二维数组 204
15.1 简介 204
15.2 声明数组 204
15.3 索引 205
15.4 数组的大小 206
15.5 将数组作为参数传递 206
15.6 常量 207
15.7 初始化数组 207
15.8 示例程序 208
15.9 编程原则 209
15.12 练习 210
15.11 小结 210
15.10 编程陷阱 210
15.13 自测题答案 213
第16章 字符串操作 214
16.1 简介 214
16.2 使用字符串概述 214
16.3 字符串索引 215
16.4 字符串中的字符 215
16.5 关于char类型的注意事项 216
16.6 String类的方法和属性 216
16.7 比较字符串 217
16.8 修改字符串 218
16.9 检查字符串 219
16.10 正则表达式 222
16.11 字符串处理的一个例子 224
16.12 字符串案例分析—Frasier 225
16.13 编程原则 227
16.14 编程陷阱 227
16.15 语法要点 227
16.16 新的语言元素 228
16.17 新的IDE工具 228
16.18 小结 228
16.19 练习 229
16.20 自测题答案 229
17.1 简介 231
第17章 异常 231
17.2 异常的术语 232
17.3 一个使用try-catch例子 233
17.4 使用异常对象 234
17.5 异常的分类 235
17.6 多个捕获块 236
17.7 搜索捕获块 237
17.8 异常抛出简介 238
17.9 异常处理——一些可能性 239
17.10 finally 240
17.11 编程原则 240
17.15 新的IDE实用工具 241
17.14 新的语言元素 241
17.16 小结 241
17.13 语法要点 241
17.12 编程陷阱 241
17.17 练习 242
17.18 自测题答案 242
第18章 文件 244
18.1 简介 244
18.2 流存取概要 244
18.3 StreamdReader和StreamWriter类 245
18.4 文件输出 245
18.5 文件输入 247
18.6 文件搜索 249
18.7 文件和异常 251
18.8 消息对话框和对话框 252
18.9 使用文件对话框 254
18.10 创建菜单 255
18.11 Directory类 257
18.12 编程原则 259
18.13 编程陷阱 259
18.14 语法要点 259
18.15 新的语言元素 259
18.16 新的IDE工具 260
18.17 小结 260
18.18 练习 260
18.19 自测题答案 261
19.2 第一个控制台程序 263
第19章 控制台程序 263
19.1 简介 263
19.3 命令提示符cd和dir 265
19.4 运行程序的方式 266
19.5 控制台应用程序中的类 267
19.6 命令行参数 267
19.7 脚本和输出重定向 269
19.8 脚本和批处理文件 270
19.12 新的语言元素 271
19.14 小结 271
19.13 新的IDE工具 271
19.11 语法点 271
19.10 编程陷阱 271
19.9 编程原则 271
19.15 练习 272
19.16 自测题答案 272
第20章 面向对象设计 274
20.1 简介 274
20.2 设计问题 274
20.3 识别对象、方法和属性 275
20.4 设计中的案例分析 279
20.5 查找重用 285
20.6 组合或继承 285
20.7 类的设计准则 289
20.9 练习 290
20.8 小结 290
20.10 自测题答案 291
第21章 程序风格 293
21.1 简介 293
21.2 程序布局 293
21.3 注释 294
21.4 使用常量 295
21.5 类 296
21.6 嵌套if 297
21.7 嵌套循环 298
21.8 复合条件 300
21.9 文档 301
21.10 编程陷阱 302
21.11 小结 302
21.12 练习 302
第22章 测试 303
22.1 简介 303
22.2 程序规格说明 304
22.3 穷举测试 304
22.4 黑盒(功能)测试 304
22.5 白盒(结构)测试 307
22.6 审查和走查 309
22.7 单步执行代码 309
22.8 形式验证 309
22.10 编程原则 310
22.9 增量开发 310
22.11 小结 311
22.12 练习 311
22.13 自测题答案 313
第23章 接口 315
23.1 简介 315
23.2 接口与设计 315
23.3 接口与互操作性 317
23.4 编程原则 317
23.5 编程陷阱 318
23.6 新的语言元素 318
23.7 小结 318
23.8 练习 318
24.2 使用多态 319
第24章 多态 319
24.1 简介 319
24.3 强制转换 322
24.4 强制转换规则 322
24.5 编程原则 324
24.6 编程陷阱 325
24.7 新的语言元素 325
24.8 小结 326
24.9 练习 326
24.10 自测题答案 327
附录A 库组件摘选 328
附录B 关键字 338
附录C 参考书目 339