第Ⅰ部分 C#入门 3
第1章 安装C 3
1.1 面向对象编程(OOP)简史 4
1.2 安装C 4
1.2.1 下载C# Express 5
1.2.2 安装C# Express 5
1.3 使用C# Express编写测试程序 7
1.3.1 创建项目 7
1.3.2 C#集成开发环境 8
1.3.3 向Windows窗体中添加对象 10
1.3.4 运行程序 13
1.4 小结 13
第2章 对象 15
2.1 对象 15
2.1.1 对象在日常生活中的使用 16
2.1.2 使用的属性和方法的数量 18
2.1.3 定义类之后的工作 18
2.2 开发程序计划 25
2.3 使用对象创建简单的应用程序 27
2.4 使用C#实现程序计划 29
2.4.1 向项目中添加程序引用 30
2.4.2 向项目中添加新条目 31
2.4.3 设置项目属性 33
2.4.4 向frmMain对象中添加对象 34
2.4.5 为处理步骤添加程序代码 36
2.4.6 构造用户界面对象 37
2.4.7 btnDisplayOutput单击事件代码 38
2.4.8 分析btnDisplayOutput单击事件代码 39
2.5 小结 40
第Ⅱ部分 C#语法 43
第3章 数据类型 43
3.1 整型数据类型 43
3.1.1 整型数据类型的取值范围 44
3.1.2 使用各种整数的场合 45
3.1.3 创建新项目的步骤序列 47
3.1.4 设计用户界面 47
3.1.5 处理步骤的代码 47
3.1.6 变量命名规则和约定 49
3.1.7 使用TryParse()方法 49
3.1.8 浮点数据类型 52
3.1.9 浮点的精度 53
3.1.10 使用各种浮点数据类型的场合 54
3.2 货币值:decimal数据类型 55
3.3 Boolean数据类型 57
3.4 小结 58
3.5 习题 59
第4章 理解C#语句 61
4.1 编程语言的基本构件块 61
4.1.1 操作数和运算符 62
4.1.2 表达式 62
4.1.3 语句 63
4.1.4 运算符优先级 64
4.1.5 重写默认优先级次序 65
4.2 定义变量 65
4.3 在程序中使用变量 68
4.4 Bucket Analogy 69
4.5 程序错误的类型 71
4.5.1 语法错误 71
4.5.2 语义错误 71
4.5.3 逻辑错误 71
4.6 Visual Studio调试器 72
4.6.1 调试过程 72
4.6.2 简化重复的调试工作 73
4.6.3 使用调试器 73
4.7 防御编码 76
4.7.1 使用程序注释 77
4.7.2 使用有意义的变量名 78
4.7.3 避免使用幻数 78
4.8 小结 80
4.9 习题 80
第5章 引用数据类型 81
5.1 字符串变量 81
5.1.1 定义字符串引用变量 82
5.1.2 引用类型不同于值类型的原因 84
5.1.3 引用变量规则 85
5.1.4 引用类型变量与值类型变量 86
5.1.5 引用变量采用这种操作方式的原因 86
5.1.6 按值传递与按引用传递 87
5.1.7 提高效率 87
5.1.8 使用字符串变量 88
5.1.9 字符串操作 89
5.2 字符串与转义序列 100
5.3 DateTime引用对象 101
5.4 小结 111
5.5 习题 111
第6章 在代码中制定决策 113
6.1 关系运算符 113
6.1.1 使用关系运算符——if语句 114
6.1.2 if-else语句 118
6.1.3 简单if-else的简化版本:三元运算符 119
6.1.4 if和if-else语句的风格考虑事项 119
6.1.5 嵌套的if语句 121
6.1.6 RDC 122
6.1.7 层叠if语句 123
6.2 逻辑运算符 124
6.3 switch语句 126
6.4 小结 128
6.5 习题 129
第7章 使用循环重复语句 131
7.1 程序循环 131
7.1.1 良性循环和恶性循环 132
7.1.2 for循环 132
7.1.3 for循环的嵌套 139
7.1.4 while循环 141
7.1.5 采用多种类型循环的原因 143
7.2 do-while程序循环 143
7.3 continue语句 147
7.4 小结 148
7.5 习题 148
第8章 数组 151
8.1 数组的定义 151
8.1.1 部分数组细节 153
8.1.2 Listview对象 158
8.2 数组是对象 161
8.3 多维度组 163
8.4 初始化数组 166
8.4.1 初始化数组的变体 167
8.4.2 初始化多维度组 168
8.4.3 对象的初始化列表 168
8.5 集合 170
8.6 ArrayList对象 172
8.7 小结 176
8.8 习题 176
第Ⅲ部分 编写自己的类 179
第9章 设计类 179
9.1 类设计 180
9.1.1 向项目中添加类 180
9.1.2 作用域 181
9.1.3 形象化作用域 184
9.1.4 C#支持作用域的原因 185
9.2 设计程序 186
9.2.1 五步程序步骤(Five Program Steps) 187
9.2.2 不要只见树木不见森林 189
9.3 UML Light 189
9.3.1 访问说明符 190
9.3.2 UML方法 192
9.3.3 像用户一样思考 194
9.4 clsDates设计 195
9.4.1 名称空间修饰符 197
9.4.2 类的组织 197
9.5 用户界面的不同含义 201
9.6 小结 201
9.7 习题 201
第10章 设计与编写自定义类 203
10.1 构造函数 203
10.1.1 默认构造函数 203
10.1.2 非默认构造函数 204
10.1.3 构造函数重载 204
10.2 属性方法 207
10.3 属性方法中发生错误后的对策 211
10.4 扑克牌程序的类设计 214
10.5 设计使用clsCardDeck的纸牌游戏 224
10.6 小结 237
10.7 习题 238
第11章 异常处理与调试 239
11.1 概述 239
11.2 程序错误 241
11.2.1 数据有效性验证 241
11.2.2 限制用户输入 242
11.3 异常处理 247
11.4 程序调试 253
11.4.1 自然法则 253
11.4.2 Visual Studio调试器 255
11.4.3 单步调试程序 258
11.4.4 脚手架代码 259
11.4.5 防御性编码 260
11.5 小结 261
11.6 习题 261
第12章 泛型 263
12.1 泛型的概念 263
12.1.1 递归 268
12.1.2 数据问题 269
12.2 泛型的定义 269
12.2.1 泛型与ArrayList 270
12.2.2 使用泛型类 277
12.3 泛型Quicksort 278
12.3.1 使用带约束和接口的泛型 282
12.3.2 接口 282
12.3.3 使用接口的原因 283
12.3.4 使用接口 284
12.4 小结 288
12.5 习题 288
第Ⅳ部分 存储数据 291
第13章 使用磁盘数据文件 291
13.1 目录 291
13.1.1 DriveInfo类 292
13.1.2 Directory类 292
13.1.3 DirectoryInfo类 293
13.2 File名称空间 298
13.3 FileInfo类 299
13.4 文件的类型 300
13.4.1 文本与二进制数据文件 300
13.4.2 读取数据 309
13.5 连续文件与随机访问文件 310
13.5.1 连续文件 310
13.5.2 随机访问文件 311
13.5.3 frmMain 315
13.5.4 导航记录 322
13.5.5 删除记录 323
13.5.6 clsRandomAccess 324
13.6 串行化与反串行化 341
13.7 MDI、菜单和文件对话框 348
13.7.1 添加菜单 348
13.7.2 添加File Open对话框 349
13.7.3 调用另一个窗体 351
13.8 小结 352
13.9 习题 353
第14章 使用数据库 355
14.1 数据库的概念 355
14.1.1 数据库的结构 356
14.1.2 设计数据库表的字段 357
14.2 使用自己的数据库 359
14.3 使用SQL 361
14.3.1 SELECT语句 361
14.3.2 WHERE谓词 362
14.3.3 ORDER BY子句 362
14.3.4 聚合 363
14.3.5 创建新数据库 364
14.3.6 创建新表(CREATE TABLE) 366
14.3.7 向表中添加记录(INSERT INTO) 371
14.3.8 编辑记录(UPDATE) 374
14.3.9 删除记录(DELETE) 378
14.4 数据库查询 379
14.4.1 将DataGridView对象绑定到数据库 381
14.4.2 使用不带数据绑定的DataGridView对象 383
14.5 使用LINQ 388
14.5.1 LINQ查询关键字 388
14.5.2 LINQ的名称空间与引用 391
14.6 小结 397
14.7 习题 397
第15章 继承与多态 399
15.1 继承的概念 399
15.1.1 继承示例 400
15.1.2 基类不是派生类 414
15.1.3 抽象类 414
15.2 多态 415
15.3 小结 417
15.4 习题 418
附录 习题答案 419