第1章 C#概述 1
1.1 .NET Framework开发平台 1
1.2 C#及其与C、C++的区别 3
1.3 C#版本的发展 4
1.4 Visual Studio 2013集成开发环境 5
1.5 第一个简单的C#应用程序 9
1.5.1 新建控制台程序 9
1.5.2 控制台程序解释与完善 12
1.5.3 Console类 14
1.5.4 与项目有关的菜单与视图 16
1.5.5 C#控制台项目的文件组成 20
1.6 习题 20
第2章 C#基本语法 22
2.1 C#语言基础 22
2.2 C#数据类型与变量 22
2.2.1 值类型 23
2.2.2 引用类型与string类 26
2.2.3 值类型与引用类型的转换(“装箱”与“拆箱”) 28
2.2.4 基本类型与string类型的相互转换 29
2.2.5 C#常量 29
2.2.6 C#变量 32
2.2.7 可空类型 33
2.3 C#运算符与表达式 34
2.3.1 算术运算符 34
2.3.2 关系运算符 36
2.3.3 逻辑运算符 36
2.3.4 位运算符 37
2.3.5 赋值运算符 40
2.3.6 条件运算符 40
2.3.7 is与as运算符 40
2.3.8 其他运算符 41
2.3.9 运算符的优先级 41
2.3.10 表达式中的类型转换 42
2.4 C#的条件语句 42
2.4.1 if语句 43
2.4.2 switch分支语句 44
2.5 C#的循环语句 45
2.5.1 for循环语句 46
2.5.2 do-while与while循环语句 48
2.5.3 foreach循环语句 49
2.6 C#的跳转语句 49
2.6.1 break语句 50
2.6.2 continue语句 50
2.6.3 goto语句 50
2.7 C#的异常处理结构 51
2.8 C#的数组 53
2.8.1 一维数组 53
2.8.2 多维数组 55
2.8.3 不规则数组 56
2.8.4 Array数组类 57
2.8.5 数组元素的插入与删除 58
2.8.6 ArrayList类 59
2.9 C#常用类与结构 60
2.9.1 Math类 60
2.9.2 Random类 61
2.9.3 DateTime结构 62
2.9.4 Convert类 64
2.9.5 BitConvert类 64
2.9.6 Encoding类 65
2.9.7 StringBuilder类 66
2.10 预处理指令 67
2.11 习题 68
第3章 C#面向对象编程 72
3.1 面向对象的概念 72
3.1.1 对象与类 72
3.1.2 面向对象程序设计的特征 72
3.2 C#类 73
3.2.1 类的声明 73
3.2.2 创建类对象及其实例化 75
3.2.3 类的成员 75
3.2.4 类的构造函数与析构函数 77
3.2.5 this关键词 80
3.3 类的方法成员 80
3.3.1 return语句 81
3.3.2 方法成员声明 81
3.3.3 方法的参数 82
3.3.4 静态方法 86
3.3.5 外部静态方法 87
3.3.6 方法重载 88
3.3.7 泛型方法 89
3.3.8 方法的递归调用 90
3.4 类的运算符重载成员 90
3.5 类的属性成员 92
3.5.1 属性成员声明与应用 92
3.5.2 自动实现属性 94
3.6 类的索引器成员 96
3.7 委托与类的事件成员 97
3.7.1 委托的声明与使用 98
3.7.2 多重委托 99
3.7.3 匿名委托与λ表达式 100
3.7.4 类的事件成员 101
3.8 类的继承 103
3.8.1 类的派生 104
3.8.2 派生类的构造函数与析构函数 106
3.9 类的多态 108
3.9.1 利用new修饰符隐藏基类方法 108
3.9.2 利用virtual和override修饰符实现虚方法重写 109
3.9.3 关于base关键词 114
3.9.4 抽象类与抽象方法 114
3.9.5 密封类与密封方法 116
3.9.6 基类引用与派生类对象 118
3.10 泛型类 118
3.10.1 泛型类的声明与应用 118
3.10.2 List<T>泛型类 120
3.11 接口 121
3.11.1 接口的声明与继承 121
3.11.2 接口的实现 122
3.11.3 接口引用 126
3.11.4 IComparable接口和IComparer接口 126
3.11.5 集合与IEnumerable接口 129
3.12 结构 130
3.13 泛型委托与泛型约束 131
3.14 Viusal C#代码编辑器中有关类的辅助功能 132
3.15 习题 133
第4章 Windows程序设计 137
4.1 Windows程序设计概述 137
4.1.1 Windows程序设计特点 137
4.1.2 Windows窗口及其主要概念 139
4.1.3 主要窗口类型 141
4.1.4 Windows消息 141
4.2 一个简单的Windows窗口程序 143
4.2.1 创建Windows窗体应用程序 143
4.2.2 分析自动创建的Windows窗体应用程序代码 146
4.2.3 给自动创建的Forml增加几个控件 148
4.2.4 给新控件增加事件处理方法 149
4.2.5 调整控件布局 151
4.3 Form类及控件类的公共成员 152
4.3.1 Form类及控件类的公共属性 152
4.3.2 Form类及控件类的公共方法 156
4.3.3 Form类及控件类的公共事件 157
4.4 Form类 160
4.4.1 Form类主要属性 161
4.4.2 Form类主要方法 164
4.4.3 Form类主要事件 165
4.4.4 MessageBox类 165
4.4.5 Form类应用示例 166
4.5 常用Windows控件 168
4.5.1 Label控件与LinkLabel控件 168
4.5.2 Button控件 169
4.5.3 TextBox控件、MaskedTextBox控件与RichTextBox控件 170
4.5.4 CheckBox控件 173
4.5.5 RadioButton控件 174
4.5.6 ListBox控件与CheckedListBox控件 176
4.5.7 ComboBox控件 178
4.5.8 GroupBox控件、Panel控件与TabControl控件 179
4.5.9 PictureBox控件 181
4.5.10 ImageList控件 182
4.5.11 Timer控件 184
4.5.12 DateTimePicker控件与MonthCalendar控件 184
4.5.13 NumericUpDown控件 186
4.5.14 ProgressBar控件 186
4.5.15 ToolTip控件 187
4.6 Windows高级界面设计 187
4.6.1 菜单设计 187
4.6.2 ToolStripMenuItem类 189
4.6.3 ToolStrip控件与工具栏设计 191
4.6.4 StatusStrip控件与状态栏设计 193
4.6.5 对话框设计 194
4.7 简单屏幕保护程序设计 196
4.7.1 文字动态显示效果实现 196
4.7.2 由按键或鼠标移动结束程序 197
4.7.3 增加密码判断功能 198
4.7.4 隐藏屏幕保护程序的光标 200
4.8 习题 201
第5章 文件操作 204
5.1 文件操作概述 204
5.1.1 文件概念与文件类型 204
5.1.2 System.IO模型 205
5.1.3 Stream类 206
5.2 文件与目录操作 208
5.2.1 目录操作 208
5.2.2 文件常规操作 210
5.3 文件读写操作 211
5.3.1 采用FileStream类读写文件 211
5.3.2 读写文本文件 212
5.3.3 读写二进制文件 215
5.4 通用对话框 218
5.4.1 文件选择对话框 219
5.4.2 字体选择对话框 221
5.4.3 颜色选择对话框 222
5.4.4 打印对话框与打印 223
5.5 自动翻页记事本程序设计 227
5.5.1 基本界面设计 227
5.5.2 文件基本操作功能 228
5.5.3 文本行列信息显示 230
5.5.4 文本编辑功能 230
5.5.5 文本修饰功能 231
5.5.6 参数设置功能 231
5.5.7 自动翻页功能 234
5.5.8 打印及打印预览功能 236
5.5.9 关闭程序提示保存功能 237
5.5.10 改造成MDI界面 238
5.6 习题 240
第6章 图形操作 241
6.1 图形操作概述 241
6.1.1 GDI+ 241
6.1.2 图形操作基本知识 242
6.2 GDI+图形操作类和结构 242
6.2.1 Point、Size和Rectangle结构 242
6.2.2 Pen类 244
6.2.3 Brush类及其派生类 246
6.2.4 Image、Bitmap类 248
6.2.5 GraphicsPath类 251
6.2.6 Region类 252
6.3 Graphics类与图形绘制 253
6.3.1 创建Graphics对象 253
6.3.2 Matrix类与坐标变换 253
6.3.3 Graphics类的基本属性和方法 255
6.3.4 绘制基本图形 256
6.3.5 填充基本图形 260
6.3.6 绘制文字 261
6.3.7 绘制图像 262
6.3.8 裁剪区域 264
6.3.9 图形绘制的其他说明 265
6.4 电子闹钟程序设计 266
6.4.1 电子闹钟绘制与时间显示 266
6.4.2 完善电子闹钟程序 269
6.4.3 以文字形式显示的电子闹钟程序 271
6.5 习题 272
第7章 ADO.NET与数据库操作 274
7.1 数据库基础知识 274
7.1.1 数据库基本概念 274
7.1.2 ODBC数据源 276
7.1.3 Access数据库 277
7.2 结构化查询语言SQL 279
7.2.1 SQL概述 279
7.2.2 SQL主要语句 279
7.3 ADO.NET概述 282
7.3.1 ADO.NET简介 282
7.3.2 ADO.NET数据库访问体系结构 283
7.3.3 ADO.NET数据库访问流程 284
7.4 ADO.NET数据库访问对象 285
7.4.1 连接对象OleDbConnection 285
7.4.2 命令对象OleDbCommand 288
7.4.3 读取对象OleDbDataReader 290
7.4.4 数据适配器对象OleDbDataAdapter 291
7.4.5 参数对象OleDbParameter 293
7.5 DataSet对象及其相关对象 294
7.5.1 DataSet对象 294
7.5.2 DataTable对象 295
7.5.3 DataColumn对象 296
7.5.4 DataRow对象 297
7.5.5 DataView对象 298
7.5.6 Constraint类 299
7.5.7 DataRelation类 300
7.6 数据显示 301
7.6.1 数据绑定 301
7.6.2 DataGridView控件 305
7.7 学生信息管理程序设计 308
7.7.1 数据表定义 308
7.7.2 学生信息维护功能 309
7.7.3 数据查询与统计功能 311
7.8 习题 313
附录 上机练习 316
参考文献 320