第1章 Visual C#.NET概述 1
1.1 Visual C#.NET简介 1
1.1.1 Visual C#.NET产生 1
1.1.2 Visual C#.NET的特点 2
1.1.3 .NET框架 3
1.2 Visual Studio 2013.NET集成开发环境 4
1.2.1 Visual Studio 2013.NET的安装 5
1.2.2 Visual Studio 2013.NET简介 7
1.2.3 Visual Studio 2013.NET中的其他窗口 12
1.3 Visual C#.NET的三种应用程序结构 14
1.3.1 Visual C#.NET编写控制台应用程序 14
1.3.2 Visual C#.NET编写Windows应用程序 16
1.3.3 Visual C#.NET编写Web应用程序 17
1.4 命名空间 19
1.4.1 定义命名空间 19
1.4.2 导入命名空间 20
1.4.3 常用命名空间 20
1.5 Visual C#.NET应用程序的开发步骤 21
习题 22
第2章 Visual C#.NET编程基础 23
2.1 数据类型 23
2.2 不同数据类型之间的转换 27
2.2.1 显式转换与隐式转换 27
2.2.2 装箱和拆箱 28
2.3 常量和变量 29
2.3.1 常量 29
2.3.2 变量 30
2.3.3 变量的作用范围(作用域) 30
2.4 运算符与表达式 31
2.4.1 运算符 31
2.4.2 运算符优先级 35
2.4.3 表达式 35
2.4.4 C# 4.0引入动态关键字dynamic 36
2.5 控制台应用程序与格式化输出 37
2.5.1 控制台输出 37
2.5.2 控制台输入 38
2.5.3 字符串的格式化输出 38
2.6 C#流程控制语句 39
2.6.1 选择语句 39
2.6.2 循环语句 42
2.6.3 跳转语句 46
2.6.4 异常处理语句 48
2.7 数组 51
2.7.1 数组的声明与初始化 51
2.7.2 创建数组实例 53
2.7.3 一维数组 53
2.7.4 多维数组 58
2.7.5 交错数组 62
2.7.6 数组的方法和属性 63
习题 65
第3章 面向对象的编程基础 67
3.1 类 67
3.1.1 C#类的声明和对象的创建 67
3.1.2 类的成员 69
3.1.3 类的构造函数和析构函数 69
3.1.4 静态成员和实例成员 71
3.1.5 方法 72
3.1.6 属性与索引器 78
3.1.7 分部类 83
3.2 结构类型 83
3.2.1 结构类型的声明 83
3.2.2 结构变量 84
3.3 类的继承 85
3.3.1 继承 86
3.3.2 抽象类和密封类 95
3.4 多态 97
3.4.1 隐藏基类方法 97
3.4.2 声明虚方法 98
3.4.3 实现多态性 100
3.5 接口 102
3.5.1 定义接口 102
3.5.2 实现接口 102
3.5.3 显式接口成员实现 103
3.6 委托与事件 104
3.6.1 委托 104
3.6.2 事件 107
3.7 反射 110
3.7.1 System.Reflection命名空间 111
3.7.2 如何使用反射获取类型 111
3.7.3 获取程序集元数据 112
3.8 序列化与反序列化 113
3.8.1 二进制序列化与反序列化 113
3.8.2 XML序列化与反序列化 116
3.9 .NET泛型编程 117
3.9.1 为什么要使用泛型 117
3.9.2 定义泛型方法 119
3.9.3 定义泛型类 120
3.9.4 使用泛型集合类 122
3.10 Visual C#.NET常用类 127
3.10.1 Console类 127
3.10.2 String类和StringBuilder类 128
3.10.3 DateTime类和TimeSpan类 131
3.10.4 Math类 131
3.10.5 Convert(转换)类 132
3.10.6 Random类 133
3.10.7 与窗体应用程序相关的类 134
3.11 集合 135
3.11.1 ArrayList数组列表 135
3.11.2 Stack堆栈 139
3.11.3 Queue队列 141
3.11.4 Hashtable哈希表和SortedList排序列表 142
3.11.5 BitArray位数组 143
习题 144
第4章 Visual C#.NET控件及其应用 145
4.1 特殊功能文本框和标签 145
4.1.1 常用属性和事件 145
4.1.2 只能输入数字文本框 146
4.1.3 文本框焦点转移 147
4.1.4 创建口令文本框 147
4.1.5 代码设置文本框的字体 147
4.1.6 只读文本框 147
4.1.7 标签控件 147
4.2 单选按钮应用——模拟单项选择题测试 148
4.2.1 常用属性和事件 148
4.2.2 实例开发 148
4.3 复选框应用——模拟多项选择题测试 151
4.3.1 常用属性和事件 151
4.3.2 实例开发 151
4.3.3 窗体中多页显示效果实现技巧 153
4.4 列表框应用——小学生做加减法的算术练习程序 153
4.4.1 常用属性和事件 153
4.4.2 实例开发 154
4.5 组合框应用——国家名选择 156
4.5.1 常用属性和事件 156
4.5.2 实例开发 157
4.6 Timer控件用法——飘动窗体 158
4.6.1 常用属性和事件 158
4.6.2 实例开发 159
4.7 图片框应用——图片自动浏览器 160
4.7.1 常用属性和事件 160
4.7.2 实例开发 161
4.7.3 图片的缩放技巧 163
4.8 利用滚动条控件调配颜色 164
4.8.1 滚动条的属性和事件 164
4.8.2 实例开发 164
4.9 Tree View控件和ListView控件——学校系部分层列表 166
4.9.1 TreeView控件 166
4.9.2 实例开发 168
4.9.3 ListView控件 169
4.9.4 实例开发 170
4.10 菜单使用 172
4.10.1 创建主菜单 172
4.10.2 实例开发 172
4.10.3 上下文菜单 173
4.10.4 实例开发 173
4.11 对话框控件应用——自己的记事本编辑器程序 174
4.11.1 打开文件对话框控件 174
4.11.2 保存文件对话框控件 175
4.11.3 颜色对话框控件 175
4.11.4 字体对话框控件 176
4.11.5 PrintDialog控件和PrintDocument控件 176
4.11.6 对话框控件应用实例开发 176
4.12 实现控件数组的功能——计算器设计 179
4.12.1 控件数组的建立 179
4.12.2 实例开发 180
习题 183
第5章 图形图像和多媒体编程 184
5.1 GDI+图形图像绘制 184
5.1.1 GDI+概述 184
5.1.2 坐标 186
5.1.3 Graphics类 186
5.1.4 画笔Pen类和画刷Brush类 189
5.1.5 可擦写图形轮廓的实现 192
5.2 图像处理 194
5.2.1 显示图像 194
5.2.2 保存图像 195
5.2.3 图像的平移、旋转和缩放 196
5.2.4 生成数字字符验证码图片 197
5.3 播放声音与视频的文件 200
5.3.1 通过API函数播放声音文件 200
5.3.2 ActiveX控件 201
5.3.3 Windows Media Player控件播放声音和视频文件 201
5.3.4 无声动画控件(Animation) 204
5.4 特殊形状的窗体界面 205
5.4.1 Region类和GraphicsPath类 205
5.4.2 程序设计的步骤 207
5.5 拼图游戏设计 208
5.5.1 Graphics类的常用方法 208
5.5.2 程序设计的思路 209
5.5.3 程序设计的步骤 209
5.6 五子棋游戏 213
5.6.1 程序设计的思路 213
5.6.2 程序设计的步骤 214
习题 217
第6章 文件处理和键盘操作 220
6.1 C#目录(文件夹)和文件管理 220
6.1.1 System.IO命名空间 220
6.1.2 目录(文件夹)管理 220
6.1.3 文件管理 223
6.1.4 文件夹浏览器实现 224
6.2 文件的读写 228
6.2.1 FileStream类读写文件 228
6.2.2 文本文件的读写 232
6.2.3 读写二进制文件 237
6.3 处理鼠标和键盘事件 245
6.3.1 处理鼠标相关的事件 245
6.3.2 处理键盘相关的事件 246
习题 249
第7章 网络程序开发 251
7.1 网络通信编程基础 251
7.1.1 Socket套接字简介 251
7.1.2 TCP协议和UDP协议 251
7.1.3 Socket编程原理 252
7.1.4 套接字Socket类编程 253
7.1.5 .NET框架中网络通信的应用层类 257
7.2 使用TcpClient类和TcpListener类实现TCP协议通信 257
7.2.1 TcpClient类和TcpListener类 257
7.2.2 实现的基于TCP协议的局域网通信程序 262
7.3 使用UdpClient类实现UDP协议编程 269
7.3.1 UdpClient类 269
7.3.2 UdpClient类开发UDP程序的过程 271
7.4 基于UDP的网络中国象棋 273
7.4.1 网络中国象棋设计思路 274
7.4.2 网络象棋游戏窗体实现的步骤 280
习题 303
第8章 数据库编程 304
8.1 数据库的基本概念 304
8.1.1 关系数据库与二维表 304
8.1.2 关系数据库的有关概念 305
8.1.3 关系数据库的操作 306
8.2 ADO.NET数据库访问技术 308
8.2.1 ADO.NET简介 308
8.2.2 ADO.NET的核心组件 308
8.2.3 ADO.NET的联机与脱机数据存取模式 310
8.3 ADO.NET对象及其编程 311
8.3.1 使用Connection对象连接数据源 312
8.3.2 使用Command对象执行数据库操作 313
8.3.3 DataReader对象 314
8.3.4 DataSet对象 317
8.3.5 DataView对象 321
8.3.6 DataAdapter对象 322
8.4 使用ADO.NET对数据库进行操作 324
8.4.1 在保持连接的方式下进行数据操作 324
8.4.2 在无状态(脱机)方式下进行数据操作 326
8.4.3 数据绑定 329
8.5 数据库中的图像存取 335
8.5.1 关键技术 335
8.5.2 程序设计的步骤 337
8.6 LINQ技术及应用 340
8.6.1 什么是LINQ 341
8.6.2 LINQ基础 342
8.6.3 LINQ查询子句 344
8.6.4 操作关系型数据——LINQ to SQL 346
8.6.5 使用LINQ操作DataSet——LINQ to DataSet 351
习题 352
第9章 Web应用程序开发 354
9.1 Web窗体与ASP.NET内置对象 354
9.1.1 ASP.NET工作原理 354
9.1.2 Web窗体页面 354
9.1.3 ASP.NET常用内置对象 354
9.1.4 统计网站在线人数 358
9.2 ASP.NET控件 361
9.2.1 ASP.NET控件概述 361
9.2.2 标签控件Label 364
9.2.3 Button、ImageButton和LinkButton控件 365
9.2.4 DropDownList控件和ListBox控件 366
9.2.5 Image控件和ImageMap控件 368
9.2.6 文本输入控件 370
9.2.7 复选框和单选钮 372
9.2.8 AdRotator控件 375
9.2.9 Calendar控件 376
9.2.10 视图控件 378
9.3 Web表单验证控件应用 381
9.3.1 RequiredFieldValidator必须字段验证控件 381
9.3.2 RangeValidator范围验证控件 382
9.3.3 CompareValidator比较验证控件 382
9.3.4 RegularExpressionValidator正则表达式控件 382
9.3.5 CustomValidator自定义验证控件 383
9.4 数据库的操作——读取、修改表信息 385
9.4.1 连接两种数据库 385
9.4.2 读取数据库 385
9.4.3 数据的添加、删除、修改 386
9.4.4 数据库操作的应用实例 387
9.5 Web数据显示控件应用——显示表信息 392
9.5.1 Repeater控件 392
9.5.2 DataList控件 393
9.5.3 GridView控件 395
9.5.4 Web数据显示控件应用 398
9.6 母版页创建游戏网站 401
9.6.1 关键技术 401
9.6.2 程序设计的思路 405
9.6.3 程序设计的步骤 405
9.7 网页间数据的传递 408
9.7.1 用QueryString来传送相应的值 408
9.7.2 利用Session对象传递或共享数据 409
习题 410
第10章 XML技术 411
10.1 XML概念 411
10.1.1 使用XML的原因 411
10.1.2 与XML有关的命名空间和相关类 413
10.2 使用ADO.NET中DataSet创建XML文件 414
10.3 使用ADO.NET中DataSet读取XML文件 415
10.4 C#通过DOM操作XML文档 418
10.4.1 .NET中处理XML文档的方式 418
10.4.2 .NET中使用DOM加载及保存XML数据 420
10.4.3 使用DOM访问XML文件 421
10.4.4 使用DOM添加新节点 425
10.4.5 使用DOM修改删除节点 426
10.5 基于XML的游戏网站留言板 428
10.5.1 程序设计的思路 428
10.5.2 程序设计的步骤 429
习题 434
参考文献 435