第1章C#概述 1
1.1什么是C#语言 1
1.2.NET Framework 2
1.2.1.NET Framework的目标 2
1.2.2.NET Framework的体系结构 3
1.3配置Visual C#开发环境和启动退出操作 5
1.3.1配置Visual C#开发环境 5
1.3.2 C#的启动 6
1.3.3 Visual C#的退出 9
1.4 Visual C#的集成开发环境(IDE) 9
1.4.1 Visual C#菜单栏 9
1.4.2 Visual C#工具栏 10
1.4.3 Visual C#工具箱 11
1.4.4解决方案资源管理器 14
1.4.5“属性”窗口 14
1.4.6窗体设计器 16
1.4.7代码编辑窗口 17
1.4.8其他窗口 18
1.4.9帮助系统 19
1.5编辑器设置 20
习题1 21
上机实验1 21
第2章 简单的C#程序设计 22
2.1第一个Windows控制台应用程序 22
2.1.1控制台应用程序示例 22
2.1.2控制台应用程序项目的组成 24
2.1.3控制台应用程序的程序组成 26
2.2第一个Windows应用程序 27
2.2.1 Windows应用程序示例 27
2.2.2 Windows应用程序项目的组成 30
2.2.3 Windows应用程序的程序组成 31
习题2 31
上机实验2 31
第3章C#程序设计基础 32
3.1标识符 32
3.2 C#中数据类型 33
3.2.1值类型 34
3.2.2引用类型 36
3.2.3类型转换 37
3.2.4装箱和拆箱 38
3.3 C#中的变量和常量 39
3.3.1变量 39
3.3.2常量 42
3.4结构类型和枚举类型 43
3.4.1结构类型 43
3.4.2枚举类型 45
3.5 C#运算符和表达式 47
3.5.1算术运算符 48
3.5.2字符串运算符 48
3.5.3赋值运算符 48
3.5.4关系运算符 49
3.5.5逻辑运算符 49
3.5.6位运算符 50
3.5.7条件运算符 51
3.5.8其他运算符 51
3.5.9运算符的优先级 52
3.6 C#中常用类和结构 53
3.6.1 String类 53
3.6.2 Math类 56
3.6.3 Convert类 57
3.6.4 DateTime结构 58
习题3 59
上机实验3 60
第4章C#控制语句 61
4.1选择控制语句 61
4.1.1 if语句 61
4.1.2 if…else语句 62
4.1.3 if…else if语句 63
4.1.4 switch语句 64
4.2循环控制语句 66
4.2.1 while语句 66
4.2.2 do-while语句 67
4.2.3 for语句 68
4.3跳转语句 69
4.3.1 break语句 69
4.3.2 continue语句 70
4.3.3 goto语句 71
习题4 72
上机实验4 73
第5章 数组和集合 74
5.1一维数组 74
5.1.1一维数组的定义 74
5.1.2一维数组的动态初始化 75
5.1.3一维数组的静态初始化 76
5.1.4访问一维数组中的元素 76
5.1.5一维数组的越界 76
5.2二维数组 77
5.2.1二维数组的定义 78
5.2.2二维数组的动态初始化 78
5.2.3二维数组的静态初始化 78
5.2.4访问二维数组中的元素 79
5.3 Array类 80
5.3.1 Array类的属性和方法 80
5.3.2 Array类中方法的使用 81
5.4交错数组 82
5.4.1交错数组的定义和初始化 82
5.4.2访问交错数组中的元素 83
5.5 ArrayList类 83
5.5.1定义ArrayList类的对象 84
5.5.2 ArrayList类的属性 84
5.5.3 ArrayList类的方法 84
5.6.List<T>类 85
5.6.1定义List<T>类的对象 86
5.6.2 List<T>类的属性 86
5.6.3 List<T>类的方法 86
习题5 88
上机实验5 89
第6章 面向对象程序设计 90
6.1面向对象程序设计概述 90
6.1.1面向对象的基本概念 90
6.1.2面向对象的优点 91
6.2命名空间 92
6.2.1命名空间概述 92
6.2.2使用命名空间 92
6.3类 94
6.3.1类的声明 94
6.3.2类的成员 95
6.3.3分部类 96
6.4对象 96
6.4.1定义类的对象 96
6.4.2访问对象的字段 97
6.4.3调用对象的方法 97
6.5构造函数和析构函数 98
6.5.1构造函数 98
6.5.2析构函数 100
6.6静态成员 101
6.6.1静态字段 101
6.6.2静态方法 102
6.7属性 104
6.7.1什么是属性 104
6.7.2属性声明 104
6.8方法 106
6.8.1什么是方法 106
6.8.2方法的定义 106
6.8.3方法的返回值 106
6.8.4方法的参数 106
6.8.5方法的重载 108
6.9索引器 109
6.9.1什么是索引器 109
6.9.2定义索引器 109
6.9.3使用其他值进行索引 110
6.10委托 111
6.10.1什么是委托 111
6.10.2定义和使用委托 111
6.10.3委托对象封装多个方法 114
6.10.4使委托与匿名方法关联 115
6.11事件 116
6.11.1什么是事件 116
6.11.2事件的创建和使用 116
6.12运算符重载 119
6.12.1运算符重载概述 119
6.12.2一元运算符重载 119
6.12.3二元运算符重载 120
6.13类的转换 120
6.13.1关键字is 120
6.13.2关键字as 122
习题6 123
上机实验6 124
第7章 继承和接口设计 125
7.1继承 125
7.1.1什么是继承 125
7.1.2派生类的声明 126
7.1.3基类成员的可访问性 126
7.1.4按次序调用构造函数和析构函数 127
7.1.5使用sealed修饰符来禁止继承 129
7.2多态性 130
7.2.1什么是多态性 130
7.2.2隐藏基类方法 130
7.2.3重写 131
7.3抽象类 134
7.3.1什么是抽象类 134
7.3.2抽象方法 135
7.3.3抽象属性 136
7.4接口 137
7.4.1什么是接口 137
7.4.2接口的定义 137
7.4.3接口的成员 138
7.4.4接口的实现 139
7.4.5接口映射 142
7.4.6接口实现的继承 144
7.4.7重新实现接口 147
7.5接口在集合排序中的应用 149
7.5.1 ArrayList类的排序方法 149
7.5.2 IComparable接口 149
7.5.3 IComparer接口 151
7.6泛型编程 154
7.6.1什么是泛型 154
7.6.2泛型的定义和使用 155
习题7 157
上机实验7 157
第8章Windows窗体应用程序设计 158
8.1窗体设计 158
8.1.1创建Windows窗体应用程序的过程 158
8.1.2窗体类型 159
8.1.3窗体的常用属性 159
8.1.4窗体的常用事件 162
8.1.5窗体的常用方法 162
8.1.6窗体上各事件的引发顺序 167
8.1.7焦点与Tab键次序 168
8.2常用的控件设计 168
8.2.1控件概述 168
8.2.2富文本框控件 170
8.2.3分组框控件 172
8.2.4面板控件 172
8.2.5复选框控件 172
8.2.6单选按钮控件 175
8.2.7图片框控件 176
8.2.8组合框控件 178
8.2.9列表框控件 180
8.2.10带复选框的列表框控件 182
8.2.11定时器控件 184
8.2.12滚动条控件 185
8.2.13月历控件 187
8.2.14日期/时间控件 188
8.2.15超链接标签控件 189
8.3多文档窗体 191
8.4窗体设计的事件机制 195
8.4.1什么是事件处理程序 195
8.4.2在Windows窗体中创建事件处理程序 195
8.4.3在运行时为Windows窗体创建事件处理程序 197
8.4.4将多个事件连接到Windows窗体中的单个事件处理程序 197
习题8 199
上机实验8 200
第9章 用户界面设计 201
9.1菜单设计 201
9.1.1菜单的基本结构 201
9.1.2创建下拉式菜单 203
9.1.3弹出式菜单设计 208
9.1.4为菜单项添加访问热键和快捷键 211
9.2通用对话框 212
9.2.1打开文件对话框 212
9.2.2保存文件对话框 213
9.2.3颜色对话框 216
9.2.4字体对话框 216
9.3图像列表框控件 217
9.3.1建立ImageList控件 217
9.3.2 ImageList控件的属性 218
9.3.3 Images集合的属性和方法 219
9.4树形视图控件 219
9.4.1 TreeView控件概述 220
9.4.2建立TreeView控件 220
9.4.3 TreeView控件的属性 221
9.4.4 TreeView控件的事件和方法 221
9.4.5 Nodes集合和TreeNode对象 222
9.4.6运行时TreeView控件的基本操作 223
9.5列表视图控件 225
9.5.1 ListView控件概述 225
9.5.2建立ListView控件 226
9.5.3 ListView控件的属性 227
9.5.4 ListView控件的事件和方法 228
9.5.5 Items集合和ListViewItem对象 228
9.5.6 Columns集合和ColumnHeader对象 229
9.5.7运行时ListView控件的基本操作 230
9.6工具栏控件 232
9.6.1建立ToolStrip控件 232
9.6.2 ToolStrip控件的属性 233
9.6.3 Items集合和ToolStripButton对象 234
9.7状态栏控件 235
9.7.1建立StatusStrip控件 235
9.7.2 StatusStrip控件的属性 236
习题9 236
上机实验9 237
第10章 图形设计 238
10.1绘图概述 238
10.1.1绘图的基本知识 238
10.1.2什么是GDI+ 239
10.1.3 Graphics类 240
10.2绘图的基本步骤 240
10.3绘制图形 243
10.3.1绘制直线 243
10.3.2绘制矩形 243
10.3.3绘制多边形 244
10.3.4绘制圆和椭圆 245
10.3.5绘制弧线 245
10.3.6绘制饼形 246
10.3.7绘制非闭合曲线 247
10.3.8绘制闭合曲线 247
10.3.9绘制贝济埃曲线 248
10.4创建画图工具 249
10.4.1创建画笔 249
10.4.2创建笔刷 250
10.4.3创建字体 252
10.5绘制文本 253
习题10 254
上机实验10 254
第11章 文件操作 255
11.1文件和System.IO模型概述 255
11.1.1文件类型 255
11.1.2文件的属性 256
11.1.3文件访问方式 257
11.2 System.IO模型 257
11.2.1什么是System.IO模型 257
11.2.2文件编码 257
11.2.3 C#的文件流 258
11.3文件夹和文件操作 258
11.3.1文件夹操作 258
11.3.2文件操作 259
11.4 FileStream类 261
11.5文本文件的操作 262
11.5.1 StreamReader类 262
11.5.2 StreamWriter类 264
11.6二进制文件操作 266
11.6.1 BinaryWriter类 266
11.6.2 BinaryReader类 268
11.6.3二进制文件的随机查找 270
11.7序列化和反序列化 271
11.7.1序列化 271
11.7.2反序列化 272
习题11 274
上机实验11 274
第12章 错误调试和异常处理 275
12.1错误分类 275
12.2程序调试 277
12.2.1调试工具 278
12.2.2如何开始调试 278
12.2.3设置断点 278
12.2.4定位错误 278
12.2.5调试过程 279
12.2.6显示调试信息 279
12.2.7单步跟踪 283
12.3异常处理 283
12.3.1异常概述 283
12.3.2异常处理语句 283
12.3.3常用的异常类 287
习题12 287
上机实验12 288
第13章ADO.NET数据库访问技术 289
13.1数据库概述 289
13.1.1关系数据库的基本结构 289
13.1.2结构化查询语言(SQL) 291
13.2 ADO.NET模型 296
13.2.1 ADO.NET简介 296
13.2.2 ADO.NET体系结构 296
13.2.3 ADO.NET数据库的访问流程 298
13.3 ADO.NET的数据访问对象 299
13.3.1 OleDbConnection对象 299
13.3.2 OleDbCommand对象 303
13.3.3 OleDbDataReader对象 308
13.3.4 OleDbDataAdapter对象 312
13.4 DataSet对象 316
13.4.1 DataSet对象概述 317
13.4.2 DataSet对象的属性和方法 318
13.4.3 Tables集合和DataTable对象 318
13.4.4 Columns集合和DataColumn对象 320
13.4.5 Rows集合和DataRow对象 321
13.4.6 Relations集合和DataRelation对象 324
13.5数据绑定 325
13.5.1数据绑定概述 325
13.5.2 BindingNavigator控件 330
13.6 DataView对象 333
13.6.1 DataView对象概述 333
13.6.2 DataView对象的列排序设置 334
13.6.3 DataView对象的过滤条件设置 335
13.7 DataGridView控件 336
13.7.1创建DataGridView对象 337
13.7.2 DataGridView的属性、方法和事件 340
13.7.3 DataGridView与DataView对象结合 343
13.7.4通过DataGridView对象更新数据源 347
习题13 349
上机实验13 350
第14章XML及其应用 351
14.1 XML概述 351
14.2 XML语法规则 352
14.2.1 XML文档中有关的术语 352
14.2.2 XML文档的结构 355
14.2.3 XML文档的语法规定 357
14.3 XPath表达式 360
14.3.1路径匹配 361
14.3.2谓词 361
14.3.3属性匹配 361
14.3.4通配符 362
14.3.5 XPath轴 362
14.4用.NET Framework类操作XML文档 363
14.4.1 XML文档操作类 363
14.4.2 XML文档的节点操作 370
14.5 DataSet和XML文档的相互转换 373
14.5.1将XML文档转换成DataSet数据 373
14.5.2将DataSet数据转换成XML文件 374
习题14 375
上机实验14 376
第15章Web应用程序设计 377
15.1 ASP.NET概述 377
15.1.1 ASP.NET的发展历程 377
15.1.2 ASP.NET网页的组件 377
15.1.3 ASP.NET网页的运行方式 378
15.1.4 ASP.NET页面的结构 379
15.2开发Web应用程序的准备工作 379
15.2.1安装Web服务器 379
15.2.2管理和配置服务器 379
15.3创建一个简单的Web应用程序 386
15.4基本ASP.NET服务器控件 390
15.4.1服务器控件概述 390
15.4.2 Label、Button和TextBox控件 392
15.4.3 DropDownList控件 393
15.4.4 CheckBox、CheckBoxList、RadioButton和RadioButtonList控件 396
15.4.5数据验证控件 399
15.4.6链接控件 403
15.5高级ASP.NET服务器端控件 404
15.5.1 AccessDataSource控件 404
15.5.2 GridView控件 408
15.5.3 DetailsView控件 416
习题15 418
上机实验15 419
参考文献 420