第1章 初识C# 1
学习目标 1
任务1 第一个控制台应用程序 1
任务描述 1
任务实施 1
1.创建项目 1
2.代码的编写 2
3.程序的运行 2
相关知识 2
1.类的定义 2
2.Main()方法 2
3.输入与输出 3
4.命名空间 3
5.代码注释 3
任务扩展 4
任务2 第一个WinForm程序 4
任务描述 4
任务实施 4
1.创建项目和窗体 4
2.代码的编写 4
3.程序的运行 5
相关知识 5
1.事件 5
2.属性 6
3.“属性”窗口 6
4.解决方案资源管理器 6
任务扩展 7
本章小结 7
习题 7
第2章 C#语言基础 8
学习目标 8
2.1 变量与常量 8
任务1 计算体脂指数BMI 9
任务描述 9
任务实施 9
1.创建项目 9
2.代码的编写 9
3.程序的运行 10
相关知识 11
1.类的定义和变量的声明 11
2.MessageBox类 11
3.字符串运算符 11
4.变量值的覆盖 11
2.2 基本数据类型 12
任务2 BMI计算器的改进1 13
任务描述 13
任务实施 13
1.创建项目和窗体 13
2.代码的编写 14
3.程序的运行 15
相关知识 15
1.数字字符串转换为数字 15
2.捕获异常及处理异常 15
3.算术运算 16
任务3 转换成大写字母 17
任务描述 17
任务实施 17
1.创建项目和窗体 17
2.代码的编写 18
3.程序的运行 18
相关知识 19
1.字符串与字符型数据的转换 19
2.char.IsLetter()方法 19
3.字符型与数值型数据的转换 19
4.基本数据类型的相互转换 19
任务4 BMI计算器的改进2 21
任务描述 21
任务实施 21
1.创建项目和窗体 21
2.代码的编写 22
3.程序的运行 23
相关知识 23
1.运算符的优先级和结合性 23
2.条件运算符 24
3.赋值运算符 24
任务5 密码语言 26
任务描述 26
任务实施 27
1.创建项目和窗体 27
2.代码的编写 27
3.程序的运行 28
相关知识 28
1.对象的创建 28
2.对象的操作 29
3.字符串的索引 29
本章小结 29
习题 30
第3章 C#程序的流程控制 31
学习目标 31
3.1 选择结构 31
任务1 猜硬币 32
任务描述 32
任务实施 32
1.创建项目和窗体 32
2.代码的编写 33
3.程序的运行 33
相关知识 33
1.RadioButton单选按钮控件 33
2.Random随机类 34
任务2 个税计算器 36
任务描述 36
任务实施 36
1.创建项目和窗体 36
2.代码的编写 37
3.程序的运行 38
相关知识 38
1.Math数学类 38
2.字符串的格式化输出 38
任务3 简易数学计算器 40
任务描述 40
任务实施 40
1.创建项目和窗体 40
2.代码的编写 41
3.程序的运行 41
相关知识 41
1.ListBox列表框 41
2.ComboBox组合框 44
3.2 循环结构 44
任务4 九九乘法表 45
任务描述 45
任务实施 45
1.创建项目和窗体 45
2.代码的编写 46
3.程序的运行 46
相关知识 46
1.循环的执行 46
2.循环的嵌套 47
3.输出的格式 47
任务5 公约数与公倍数 48
任务描述 48
任务实施 48
1.创建项目和窗体 48
2.代码的编写 49
3.程序的运行 49
相关知识 49
1.循环的执行 49
2.GroupBox控件 50
3.CheckBox控件 50
任务6 存款计算 51
任务描述 51
任务实施 51
1.创建项目和窗体 51
2.代码的编写 52
3.程序的运行 52
相关知识 53
1.循环的执行 53
2.while与do...while的区别 53
3.3 转向语句 53
任务7 输出特定数列 54
任务描述 54
任务实施 54
1.创建项目和窗体 54
2.代码的编写 54
3.程序的运行 55
相关知识 55
1.break的运行 55
2.continue的执行 55
本章小结 56
习题 56
第4章 数组与自定义类型 57
学习目标 57
4.1 数组的概念 57
任务1 数据排序 58
任务描述 58
任务实施 58
1.创建项目和窗体 58
2.代码的编写 59
3.程序的运行 61
相关知识 61
1.数组的创建与引用 61
2.窗体的对话框模式 62
任务2 数据排序修改 62
任务描述 62
任务实施 63
1.创建项目和窗体 63
2.代码的编写 63
3.程序的运行 64
相关知识 65
1.变长数组的声明与创建 65
2.数组的Length属性 65
3.foreach循环语句 65
4.2 多维数组 66
任务3 货品数量计算 66
任务描述 66
任务实施 67
1.创建项目和窗体 67
2.代码的编写 68
3.程序的运行 69
相关知识 69
1.多维数组的访问 69
2.获取维长度 70
3.变量的值类型与引用类型 70
4.3 数组列表与控件数组 71
任务4 数组列表的使用 71
任务描述 71
任务实施 72
1.创建项目和窗体 72
2.代码的编写 73
3.程序的运行 74
相关知识 74
1.生成不同的随机数 74
2.数组与数组列表的常用属性和方法 74
3.Sort()方法 75
4.Add(object)方法 76
5.Remove(value)方法 76
6.RemoveAt(index)方法 76
7.Clear()方法 76
8.Insert(index,value)方法 76
9.IndexOf(object)方法 76
任务5 控件数组的运算 76
任务描述 76
任务实施 77
1.创建项目和窗体 77
2.代码的编写 77
3.程序的运行 79
相关知识 79
1.数组作为参数 79
2.params关键字 79
4.4 自定义类型 80
任务6 统计得分 80
任务描述 80
任务实施 81
1.创建项目和窗体 81
2.代码的编写 82
3.程序的运行 82
相关知识 82
1.结构类型 82
2.枚举类型 84
本章小结 84
习题 85
第5章 面向对象程序基础 86
学习目标 86
5.1 类与对象 86
5.2 字段 87
任务1 改写BMI计算器 87
任务描述 87
任务实施 87
1.创建项目和窗体 87
2.代码的编写 88
3.程序的运行 90
相关知识 90
1.声明与使用对象 90
2.类的封装 90
3.访问控制 90
5.3 属性 91
任务2 使用属性 91
任务描述 91
任务实施 91
1.创建项目和窗体 91
2.代码的编写 91
3.程序的运行 92
相关知识 93
1.属性的声明 93
2.属性访问器 93
3.访问类成员 94
4.属性和字段 94
5.4 类的方法 94
任务3 完善面向对象的BMI计算器 94
任务描述 94
任务实施 95
1.创建项目和窗体 95
2.代码的编写 96
3.程序的运行 97
相关知识 97
1.声明方法 97
2.调用方法 98
3.方法和属性 98
任务4 交换文本框内容 99
任务描述 99
任务实施 99
1.创建项目和窗体 99
2.代码的编写 100
3.程序的运行 101
相关知识 101
1.按值传递 101
2.按引用传递 102
任务5 方法的重载 102
任务描述 102
任务实施 103
1.创建项目和窗体 103
2.代码的编写 104
3.程序的运行 105
相关知识 105
1.方法的重载 105
2.调用重载方法 106
5.5 类的构造函数 106
任务6 声明构造函数 107
任务描述 107
任务实施 107
1.创建项目和窗体 107
2.代码的编写 108
3.程序的运行 109
相关知识 109
1.声明构造函数 109
2.构造函数的使用 109
3.析构函数 109
任务7 重载构造函数 110
任务描述 110
任务实施 110
1.创建项目和窗体 110
2.代码的编写 111
3.程序的运行 113
相关知识 113
1.重载造函数 113
2.this关键字 113
3.调用其他构造函数 114
5.6 静态成员与实例成员 114
任务8 计数矩形个数 114
任务描述 114
任务实施 114
1.创建项目和窗体 114
2.代码的编写 115
3.程序的运行 115
相关知识 115
1.静态数据成员 115
2.静态方法 116
本章小结 116
习题 116
第6章 继承和多态性 117
学习目标 117
6.1 类的继承 117
任务1 基类与派生类 117
任务描述 117
任务实施 118
1.创建项目和窗体 118
2.代码的编写 118
3.程序的运行 120
相关知识 120
1.派生类的声明 120
2.成员的访问 121
3.派生类的构造函数 121
任务2 为任务1中的派生类Student创建构造函数 121
任务描述 121
任务实施 121
1.创建项目和窗体 121
2.代码的编写 122
3.程序的运行 122
相关知识 122
1.向基类构造函数传递参数 122
2.base关键字 122
任务3 隐藏继承成员 123
任务描述 123
任务实施 123
1.创建项目和窗体 123
2.代码的编写 124
3.程序的运行 124
相关知识 124
1.隐藏继承成员 124
2.访问隐藏成员 125
6.2 多态性 125
任务4 多级继承层次结构 126
任务描述 126
任务实施 126
1.创建项目和窗体 126
2.代码的编写 127
3.程序的运行 131
相关知识 131
1.重写基方法 131
2.重写的限制 131
3.重写虚拟成员 132
4.重写Object类中的方法 132
5.多态性的实现 132
6.继承中构造函数的执行过程 132
7.重载、重写和隐藏 133
任务5 多态性及其实现 134
任务描述 134
任务实施 135
1.创建项目和窗体 135
2.代码的编写 136
3.程序的运行 142
相关知识 142
1.声明抽象类 142
2.实现抽象类 142
3.抽象类派生抽象类 142
4.抽象的隐含为虚拟的 143
5.抽象类作为变量类型 143
6.判断运行时变量的实际类型 143
6.3 接口 144
任务6 接口的使用 144
任务描述 144
任务实施 144
1.创建项目和窗体 144
2.代码的编写 145
3.程序的运行 148
相关知识 148
1.声明接口 148
2.实现接口 149
3.同名接口成员的实现 149
4.接口成员的访问 149
5.接口与多态性 150
任务7 接口与抽象类的结合 150
任务描述 150
任务实施 150
1.创建项目和窗体 150
2.代码的编写 151
3.程序的运行 153
相关知识 153
1.抽象类实现接口 153
2.组合 154
3.抽象类和接口 154
4.DateTime类型 155
本章小结 155
习题 155
第7章 委托与事件 156
学习目标 156
7.1 委托 156
任务1 将方法作为方法的参数 156
任务描述 156
任务实施 157
1.创建项目和窗体 157
2.代码的编写 157
3.程序的运行 158
相关知识 158
1.声明委托 158
2.委托是一种类型 158
任务2 绑定多个方法到委托 159
任务描述 159
任务实施 159
1.创建项目和窗体 159
2.代码的编写 159
3.程序的运行 160
相关知识 160
1.绑定方法 160
2.删除绑定 160
3.面向封装的改进 160
7.2 事件 161
任务3 电水壶 162
任务描述 162
任务实施 162
1.创建项目和窗体 162
2.代码的编写 162
3.程序的运行 164
相关知识 164
1.Observer模式 164
2.声明事件的委托 165
3.定义事件源 165
4.定义使用此事件的类 166
5.引发事件 167
7.3 键盘事件 168
任务4 查看按键的ASCII码 168
任务描述 168
任务实施 168
1.创建项目和窗体 168
2.代码的编写 169
3.程序的运行 170
相关知识 170
1.KeyPressEventArgs事件参数 170
2.Keys枚举 170
3.KeyPress事件的局限 171
任务5 数字加密 171
任务描述 171
任务实施 172
1.创建项目和窗体 172
2.代码的编写 172
3.程序的运行 174
相关知识 174
1.KeyCode、KeyValue和KeyData属性 174
2.组合键判断 174
7.4 鼠标事件 175
任务6 鼠标事件 175
任务描述 175
任务实施 175
1.创建项目和窗体 175
2.代码的编写 176
3.程序的运行 176
相关知识 176
1.鼠标事件发生的顺序 176
2.MouseEventArgs类 176
3.MouseButtons枚举 177
本章小结 177
习题 177
第8章 Windows相关控件 178
学习目标 178
8.1 菜单 178
任务1 菜单演示 178
任务描述 178
任务实施 179
1.创建项目和窗体 179
2.代码的编写 180
3.程序的运行 181
相关知识 181
1.编辑、删除菜单成员 181
2.设置下拉菜单的属性 181
任务2 扩展菜单演示 182
任务描述 182
任务实施 182
1.创建项目和窗体 182
2.代码的编写 183
3.程序的运行 185
相关知识 185
8.2 工具栏 185
任务3 添加工具栏 185
任务描述 185
任务实施 185
1.创建项目和窗体 185
2.代码的编写 186
3.程序的运行 187
相关知识 187
1.工具按钮的添加 187
2.工具按钮常用属性 187
8.3 状态栏 188
任务4 添加状态栏 188
任务描述 188
任务实施 188
1.创建项目和窗体 188
2.代码的编写 188
3.程序的运行 190
相关知识 190
8.4 对话框 190
任务5 添加对话框 190
任务描述 190
任务实施 191
1.创建项目和窗体 191
2.代码的编写 192
3.程序的运行 193
相关知识 193
1.消息框 193
2.字体对话框 194
3.打开文件对话框 194
本章小结 195
习题 195
第9章 使用ADO.NET进行数据库编程 196
学习目标 196
9.1 概述 196
9.2 窗体设计部分 198
任务1 各窗体的设计 198
任务描述 198
任务实施 199
1.在Visual Studio中建立WinForm项目 199
2.系统登录窗体模块 200
3.导航窗体模块 202
4.搜索电影窗体模块 203
5.评价电影窗体模块 204
6.推荐电影窗体模块 206
相关知识 207
1.DataGridView控件 207
2.Panel控件 209
9.3 代码设计部分 209
任务2 登录窗体的代码实现 209
任务描述 209
任务实施 209
相关知识 211
1.连接(SqlConnection对象)的创建 211
2.命令(SqlCommand对象)的创建 213
3.结果(SqlDataReader对象)的创建 214
4.验证机制 215
5.窗体的切换 215
任务3 导航窗体的代码实现 216
任务描述 216
任务实施 216
相关知识 217
任务4 搜索电影窗体的代码实现 217
任务描述 217
任务实施 217
相关知识 221
1.数据集(DataSet) 221
2.数据适配器(DataAdapter) 223
任务5 评价电影窗体的代码实现 224
任务描述 224
任务实施 224
相关知识 231
1.数据表(DataTable) 231
2.评论增删改判断机制 232
任务6 推荐电影窗体的代码实现 232
任务描述 232
任务实施 233
相关知识 234
1.推荐机制 234
2.SQL查询基础 234
3.数据绑定 235
本章小结 236
习题 236
第10章 文件I/O操作 237
学习目标 237
10.1 文件与流 237
任务1 文件的写入与读出 237
任务描述 237
任务实施 238
1.创建项目和窗体 238
2.代码的编写 239
3.程序的运行 240
相关知识 240
1.文件流FileStream 240
2.与I/O操作相关的枚举 241
3.File类 242
4.字符串的分割 243
任务2 追加数据与随机访问 244
任务描述 244
任务实施 244
1.创建项目和窗体 244
2.代码的编写 244
3.程序的运行 245
相关知识 245
1.Seek()方法定位 245
2.Position属性定位 245
3.追加模式 245
10.2 流的文本读/写 246
任务3 通讯录 246
任务描述 246
任务实施 246
1.创建项目和窗体 246
2.代码的编写 247
3.程序的运行 248
相关知识 248
1.流的文本读/写 248
2.读写器的创建 248
3.读写器的读和写 249
4.读写器的关闭 250
10.3 流的二进制读/写 250
任务4 修改通讯录 250
任务描述 250
任务实施 251
1.创建项目和窗体 251
2.代码的编写 251
3.程序的运行 251
相关知识 252
1.二进制读写器的创建 252
2.二进制读写器的读和写 252
本章小结 253
习题 253