第1章 .NET简介 1
1.1 .NET介绍 1
1.2 .NET核心成分简介 3
1.2.1公共语言运行库 3
1.2.2 .NET Framework类库 4
1.2.3中间语言和程序集 4
1.2.4公共语言规范 5
1.2.5通用类型系统 5
1.3开发工具及C#语言 5
1.3.1开发工具介绍 5
1.3.2 C#语言简介 6
1.4基于.NET的应用程序 8
1.4.1 SDK和IDE 8
1.4.2基于.NET的应用程序 8
1.5 C#程序设计初步 9
1.5.1在SDK上开发控制台程序 9
1.5.2在IDE上开发Windows应用程序 11
1.5.3在IDE上开发Web应用程序 13
习题 15
第2章 C#类型和语句成分 16
2.1关键字、标识符和注释 16
2.1.1关键字 16
2.1.2标识符及其命名 16
2.1.3注释 17
2.2 C#类型基础 18
2.2.1类型分类 18
2.2.2 C#语言的类型系统 19
2.2.3变量 20
2.2.4常量和文字 21
2.3值类型 21
2.3.1简单类型 21
2.3.2枚举类型 22
2.4数组类型 24
2.4.1一维数组 25
2.4.2多维数组 27
2.4.3交错数组 28
2.4.4 Array类简介 29
2.4.5 foreach语句 32
2.5字符串常量 34
2.5.1创建字符串 34
2.5.2 String字符串的比较 34
2.6运算符和表达式 36
2.6.1算术运算符 36
2.6.2关系运算符 37
2.6.3逻辑运算符 38
2.6.4位运算符 39
2.6.5赋值运算符 40
2.6.6条件运算符 41
2.6.7运算符的优先级及结合性 41
2.7数据类型转换 42
2.7.1隐式类型转换 42
2.7.2显式类型转换 42
习题 43
第3章 C#语句 44
3.1简单语句 44
3.1.1表达式语句 44
3.1.2空语句 44
3.1.3复合语句 45
3.1.4声明语句 45
3.2选择语句 46
3.2.1条件运算符 46
3.2.2 if语句 47
3.2.3 switch语句 50
3.3循环语句 52
3.3.1 while循环 52
3.3.2 do-while循环 53
3.3.3 for循环 54
3.4跳转语句 55
3.4.1 break语句 55
3.4.2 continue语句 55
3.4.3 goto语句 56
3.4.4 return语句 56
3.5命名空间 56
3.5.1命名空间声明 56
3.5.2 using命名空间指令 57
3.5.3 using别名指令 58
习题 59
第4章 面向对象程序设计基础 60
4.1面向对象程序设计概述 60
4.2类和对象 61
4.2.1类的声明 61
4.2.2类的成员 63
4.2.3对象的声明 65
4.3构造函数 66
4.3.1默认构造函数 67
4.3.2构造函数的重载 67
4.4析构函数 68
4.5方法 69
4.5.1方法的声明及调用 69
4.5.2方法中的参数传递 70
4.5.3实例方法和静态方法 74
4.5.4方法重载 75
4.6运算符重载 76
4.7属性和索引器 79
4.7.1属性的声明和使用 79
4.7.2索引器的声明和使用 81
4.7.3属性和索引器的比较 83
习题 83
第5章 面向对象程序设计进阶 85
5.1类的继承 85
5.1.1基类与派生类 85
5.1.2成员的继承、添加和隐藏 87
5.1.3 base关键字 87
5.2抽象类与封闭类 90
5.2.1抽象方法、属性、索引器 91
5.2.2抽象类 91
5.2.3密封类 92
5.3多态 92
5.3.1虚成员 92
5.3.2重写 93
5.3.3编译时多态和运行时多态 95
5.4接口 95
5.4.1接口的定义 95
5.4.2接口的实现 96
5.5结构 99
5.5.1结构的声明 100
5.5.2结构的实例化及应用 100
5.6委托和事件 102
5.6.1委托 102
5.6.2事件 105
5.7异常处理 107
5.7.1异常类 107
5.7.2异常处理步骤 108
5.7.3抛出异常 109
5.7.4捕获处理异常 109
习题 113
第6章 Windows应用程序 114
6.1 Windows应用程序开发步骤 114
6.1.1建立项目及创建窗体 114
6.1.2添加控件及控件布局 116
6.1.3响应事件 118
6.2 Windows常用控件 120
6.2.1文本类控件 120
6.2.2按钮类控件 121
6.2.3对话框类控件 122
6.2.4列表框、视图类控件 123
6.2.5滚动类控件 125
6.2.6工具栏和状态栏控件 126
6.2.7定时器控件 127
6.2.8菜单控件 127
6.3多文档界面 128
6.3.1创建MDI父窗体 128
6.3.2创建MDI子窗体 129
6.3.3确定活动的MDI子窗体 130
6.3.4排列子窗体 131
6.4实例解析 131
习题 138
第7章 ADO.NET数据库访问技术 139
7.1 ADO.NET概述 139
7.2 ADO.NET体系结构 139
7.2.1 ADO.NET的总体结构 139
7.2.2 DataSet结构 140
7.2.3 .NET Framework数据提供程序 140
7.2.4 ADO.NET开发数据库应用程序的一般步骤 142
7.3数据库的连接 142
7.3.1 Connection连接字符串 142
7.3.2创建并使用连接对象 143
7.4 Command对象的使用 144
7.4.1创建Command对象 144
7.4.2执行命令 145
7.4.3参数化查询 148
7.4.4执行存储过程 150
7.5 DataReader对象的使用 152
7.5.1创建DataReader对象 152
7.5.2使用DataReader读取数据 153
7.6 DataSet和DataAdapter的使用 154
7.6.1 DataSet对象管理数据 154
7.6.2使用DataAdapter对象 158
习题 160
第8章 Windows数据库应用程序开发 162
8.1数据绑定 162
8.1.1简单数据绑定 162
8.1.2复杂数据绑定 163
8.2数据源的类型 164
8.2.1数组数据源 164
8.2.2数据表数据源 164
8.2.3数据集数据源 164
8.3 Windows数据库应用实例 165
8.3.1数据库的创建及连接 166
8.3.2主要界面及相关代码 166
习题 173
第9章 ASP.NET技术 174
9.1 ASP.NET简介 174
9.1.1 ASP.NET的特点 174
9.1.2 ASP.NET代码分离技术 175
9.1.3 Web窗体 177
9.2 ASP.NET控件 178
9.2.1 HTML服务器控件 179
9.2.2 Web服务器控件 179
9.2.3验证控件 185
9.3 ASP.NET内置对象 189
9.3.1 Response对象 190
9.3.2 Request对象 192
9.3.3 Server对象 196
9.3.4 Session对象 200
9.3.5 Application对象 203
习题 206
第10章 Web应用程序开发基础 208
10.1 Web数据绑定技术 208
10.2列表类数据绑定控件 208
10.2.1列表控件概述 208
10.2.2列表类控件数据绑定举例 209
10.3 GridView控件 213
10.3.1 GridView控件概述 213
10.3.2 GridView控件常用属性、方法和事件 213
10.3.3 GridView中的字段类型 215
10.3.4 GridView数据显示 216
10.3.5编辑和删除数据 222
10.3.6分页显示数据和数据排序 222
10.4 Global.asax文件 223
10.5 Web.config文件 223
10.5.1配置与调用数据库连接字符串 223
10.5.2配置文件Web.config 224
习题 225
第11章 网上选课系统的开发 226
11.1需求分析 226
11.2数据库设计 226
11.2.1数据库表 226
11.2.2存储过程 228
11.3系统设计 229
11.4数据库连接 230
11.4.1 Web.Config的配置 230
11.4.2调用连接字符串 231
11.5系统实现 232
11.5.1登录界面(Login/Login.aspx) 232
11.5.2选课界面(student/selectcourse.aspx) 235
11.5.3提交界面(student/tijiao.aspx) 240
11.5.4学生管理界面(manager/StudentList) 243
11.5.5选课管理界面(manager/XuanKeList.aspx) 249
习题 249
第12章 多线程和同步 250
12.1基本概念 250
12.1.1多线程概念 250
12.1.2 C#中线程实现方法 251
12.2 Thread类 252
12.2.1 Thread类介绍 252
12.2.2线程的状态和生命周期 253
12.2.3线程的优先级 254
12.3多线程编程 254
12.3.1编程步骤 254
12.3.2编程实例 255
12.4线程同步和互斥 258
12.4.1多个线程同时修改共享数据可能发生的错误 258
12.4.2用Lock语句实现互斥 263
12.4.3用Mutex类实现互斥 264
12.4.4用Monitor类实现互斥 266
12.5实例解析 267
习题 272
第13章 网络协议与套接字编程 273
13.1 TCP/IP网络协议 273
13.1.1 TCP/IP参考模 273
13.1.2网间协议IP 273
13.1.3传输控制协议TCP 274
13.1.4 C#中相关的类 275
13.2套接字编程技术 276
13.2.1 IP地址和端口 276
13.2.2套接字 279
13.2.3面向连接的套接字 281
13.2.4无连接的套接字 283
13.3套接字编程实例 283
习题 292
参考文献 293