第1章C#语言基础 1
1.1 C#语言概述 1
1.1.1 .NET框架 1
1.1.2 C#语言及其特点 2
1.1.3 C#语言和其他语言比较 2
1.2集成开发环境安装与使用 3
1.2.1安装Visual Studio 2010 3
1.2.2集成开发环境的使用 6
1.3初识C#程序 9
1.3.1控制台应用程序及其结构 9
1.3.2命名空间 11
1.4 C#语言的语法基础 13
1.4.1基本编码规则 13
1.4.2案例1-1 C#注释规范 14
1.4.3数据类型 16
1.4.4常量和变量 20
1.4.5运算符和表达式 21
1.5字符串、日期和时间 27
1.5.1字符串 27
1.5.2案例1-2对输入的字符串进行处理 30
1.5.3 DateTime和TimeSpan 31
1.5.4案例1-3日期操作工具类设计 33
1.5.5数据类型的转换 36
本章小结 37
习题1 38
第2章 流程控制与异常处理 39
2.1分支结构 39
2.1.1 if语句 39
2.1.2案例2-1求一元二次方程的根 43
2.1.3 switch语句 44
2.1.4案例2-2求下一天日期 46
2.2循环结构 48
2.2.1 for循环 48
2.2.2案例2-3求素数 49
2.2.3 while循环 51
2.2.4循环嵌套 51
2.2.5案例2-4求Sin(x) 52
2.2.6 do…while循环 53
2.2.7案例2-5进制转换 54
2.2.8迭代循环 55
2.3异常处理 56
2.3.1异常处理机制 56
2.3.2常见的异常类 59
2.3.3抛出异常 60
2.3.4案例2-6整数的算术计算 61
2.3.5自定义异常 62
2.3.6案例2-7求三角形面积 63
本章小结 64
习题2 64
第3章 面向对象程序设计 66
3.1面向对象编程 66
3.1.1对象和类的概念 66
3.1.2面向对象程序设计 66
3.1.3 OOP的4个基本特征 67
3.2类的定义与创建对象 69
3.2.1类的定义 69
3.2.2创建和使用对象 69
3.2.3案例3-1测试圆类 70
3.2.4构造函数 71
3.2.5访问控制 72
3.2.6属性和索引器 73
3.2.7案例3-2 Person类 75
3.3类的方法与重载 76
3.3.1方法的定义 76
3.3.2方法的参数类型 77
3.3.3案例3-3演示方法的参数类型 77
3.3.4方法重载 79
3.4实例成员和类成员 80
3.4.1实例变量和类变量 80
3.4.2 this关键字 80
3.4.3实例方法和类方法 81
3.4.4案例3-4银行账户 81
3.5继承与多态 83
3.5.1派生类的声明 84
3.5.2方法覆盖与多态性 86
3.5.3案例3-5用继承的方式定义Student类和Teacher类 88
3.5.4 sealed修饰符 90
3.6抽象类与接口 92
3.6.1抽象类 92
3.6.2案例3-6一组图形类 92
3.6.3接口 95
3.7委托与事件 99
3.7.1委托 99
3.7.2事件 101
3.7.3案例3-7档位模拟 103
本章小结 106
习题3 106
第4章GUI程序设计 108
4.1 GUI程序设计方法 108
4.1.1建立GUI应用程序的步骤 108
4.1.2案例4-1图片的显示和隐藏 109
4.1.3事件编程 111
4.1.4案例4-2利用鼠标和键盘控制图片显示 113
4.2图形界面基础 115
4.2.1窗体 115
4.2.2应用MVC设计模式 117
4.2.3案例4-3建立学生管理系统项目 117
4.2.4对话框 119
4.2.5常用控件 123
4.2.6案例4-4设计一个登录窗口 125
4.3菜单和MDI界面 126
4.3.1菜单 126
4.3.2多文档界面 128
4.3.3案例4-5设计学生管理系统主窗体 130
4.4工具栏和状态栏 134
4.4.1工具栏 134
4.4.2状态栏 135
4.4.3案例4-6为学生管理系统添加工具栏和状态栏 136
4.5其他常用控件 138
4.5.1复选框和单选按钮 138
4.5.2列表框和组合框 140
4.5.3案例4-7学生选课界面 142
4.5.4日期选择器控件 145
4.5.5案例4-8设计学生管理界面 146
本章小结 147
习题4 148
第5章 图形、图像与多媒体 150
5.1绘图基础 150
5.1.1 GDI+简介 150
5.1.2基本数据结构 151
5.1.3处理图形图像的步骤 152
5.1.4坐标系统 153
5.1.5案例5-1建立坐标系并画圆 156
5.2基本的绘图方法 157
5.2.1颜色、画笔与画刷 157
5.2.2绘制线条或形状 162
5.2.3绘制文字 166
5.2.4案例5-2绘制一个小汽车 166
5.3图像的显示与处理 168
5.3.1图像的显示 168
5.3.2保存、复制和粘贴 169
5.3.3图像处理 170
5.3.4案例5-3图像处理程序 173
5.4声音与视频的播放 175
5.4.1使用SoundPlayer类播放WAV文件 175
5.4.2使用Windows API播放MP3 176
5.4.3 Windows Media Player控件 176
5.4.4案例5-4用Windows Media Player控件播放视频文件 178
本章小结 179
习题5 180
第6章 数据库程序设计 181
6.1 ADO.NET概述 181
6.1.1 ADO.NET简介 181
6.1.2使用ADO.NET访问数据库的一般步骤 182
6.2数据库的建立与连接 183
6.2.1创建数据库 183
6.2.2案例6-1学生管理系统数据库设计 185
6.2.3数据库的连接 187
6.2.4案例6-2连接学生管理数据库 189
6.3数据的基本操作 190
6.3.1数据更新操作 190
6.3.2数据查询操作 191
6.3.3事务处理 194
6.3.4案例6-3设计数据访问辅助类 195
6.4数据绑定 197
6.4.1数据绑定概述 197
6.4.2利用设计界面实现数据绑定 198
6.4.3案例6-4实现学生管理系统中的用户管理 200
6.4.4 DataGridView控件 201
6.4.5案例6-5实现学生成绩查询 203
6.4.6使用代码实现数据绑定 205
6.4.7案例6-6实现学生管理系统中的课程管理 207
6.5使用存储过程 211
6.5.1存储过程的定义 211
6.5.2调用存储过程 212
6.5.3案例6-7使用存储过程查询学生成绩 213
6.6图像保存和读取 217
6.6.1保存图像 217
6.6.2读取图像 218
6.6.3案例6-8实现学生管理系统中的学生管理 219
本章小结 225
习题6 226
第7章 线程 227
7.1线程及其创建 227
7.1.1线程与进程 227
7.1.2线程的优点 227
7.1.3建立线程 228
7.1.4案例7-1随机画圆 230
7.2跨线程访问界面控件 231
7.2.1 Invoke()和BeginInvoke() 231
7.2.2 BackgroundWorker组件 233
7.2.3案例7-2斐波那契数生成器 233
7.3线程的基本控制 236
7.3.1线程的状态 236
7.3.2 Thread类和线程控制 236
7.3.3线程控制的改进方法 239
7.3.4案例7-3图像浏览器 239
7.4线程同步 242
7.4.1使用lock语句 242
7.4.2案例7-4模拟取款程序 242
7.4.3 Monitor类 244
7.4.4案例7-5模拟调度程序 245
7.4.5 Interlocked类 246
7.4.6 Mutex类 247
7.4.7 Semaohone类(信号量) 248
7.5线程通信 249
7.5.1使用Monitor实现线程通信 250
7.5.2案例7-6吃苹果 250
7.5.3使用AutoResetEvent和Manual ResetEvent实现线程通信 253
7.5.4案例7-7哲学家用餐 253
本章小结 255
习题7 256
第8章 文件与目录管理 257
8.1获取系统环境信息 257
8.1.1 Environment类 257
8.1.2 Drivelnfo类 258
8.2目录管理 258
8.2.1目录管理相关类 258
8.2.2目录的基本操作 259
8.2.3 FolderBrowseDialog对话框 260
8.2.4案例8-1简单的目录管理器 260
8.3文件管理 263
8.3.1文件管理相关类 263
8.3.2文件的基本操作 263
8.3.3案例8-2文件属性查看 265
8.4流与文件读写 266
8.4.1流的基本概念 266
8.4.2 FileStream类 267
8.4.3案例8-3用FileStream建立和读写文件 268
8.4.4文本文件的读写 270
8.4.5案例8-4简单的文本编辑程序 271
8.4.6二进制文件的读写 273
8.4.7案例8-5复制文件 274
本章小结 275
习题8 276
第9章 网络程序设计 277
9.1网络程序设计基础 277
9.1.1网络基本概念 277
9.1.2网络协议 278
9.1.3 IPAddress类和IPEndPoint类 279
9.1.4套接字 280
9.1.5网络流 280
9.2面向连接的套接字 281
9.2.1面向连接的套接字程序基本结构 282
9.2.2案例9-1一个简单的TCP/IP(客户端/服务器)程序 282
9.2.3使用TcpListener和TcpClient 284
9.2.4案例9-2简单的聊天程序 285
9.2.5使用异步套接字 289
9.2.6案例9-3基于异步套接字的聊天程序 290
9.3面向无连接的套接字 296
9.3.1面向无连接的套接字程序基本结构 296
9.3.2与面向连接的套接字的主要区别 296
9.3.3使用UdpClient 297
本章小结 298
习题9 298
第10章 ASP.NET 300
10.1 ASP.NET应用基础 300
10.1.1创建ASP.NET应用程序 300
10.1.2 ASP.NET应用程序的构成 300
10.1.3 ASP.NET应用程序配置 301
10.1.4案例10-1创建新闻发布系统项目 302
10.2 Web窗体设计 307
10.2.1 Web窗体的存储模式 307
10.2.2 Web窗体操作 308
10.2.3 Web窗体中的内置对象 308
10.2.4案例10-2统计网站在线人数和访问次数 310
10.2.5 Web服务器控件 311
10.2.6验证控件 313
10.2.7案例10-3新闻发布系统的注册界面设计 315
10.3界面结构设计 316
10.3.1主题与母版 316
10.3.2案例10-4在新闻发布系统中使用主题和母版 318
10.3.3用户控件 322
10.3.4案例10-5新闻发布系统的用户控件设计 324
10.3.5网站地图与页面导航 325
10.3.6案例10-6新闻发布系统的站点导航设计 326
10.4数据库程序设计 327
10.4.1绑定数据源控件 327
10.4.2绑定数据访问类 330
10.4.3 GridView控件 332
10.4.4案例10-7实现新闻发布系统中的新闻管理 333
10.4.5 DetailsView与FormView控件 336
10.4.6案例10-8实现新闻的显示、添加和修改 338
本章小结 345
习题10 345