第1篇 C#基础篇 1
第1章 走进C#(教学视频:24分钟) 1
1.1 开启编程语言的大门 1
1.1.1 认识计算机编程语言 1
1.1.2 计算机语言的分类 1
1.2 微软的.NET框架 2
1.2.1 什么是.NET框架 2
1.2.2 初步了解C#语言 4
1.2.3 .NET与C#的关系 4
1.3 C#语言特性 5
1.4 快速学习C 5
1.4.1 如何高效掌握C 5
1.4.2 C#学习曲线 6
1.5 小结 6
第2章 了解C#开发环境(教学视频:40分钟) 7
2.1 熟悉开发环境 7
2.1.1 安装Visual Studio 2010 7
2.1.2 Visual Studio 2010开发环境 10
2.2 开始C#的第一步 12
2.2.1 创建控制台应用程序 12
2.2.2 创建Windows窗体应用程序 14
2.2.3 创建Web应用程序 16
2.3 小结 19
2.4 习题 19
第2篇 C#语法篇 20
第3章 语法基础(教学视频:122分钟) 20
3.1 变量和常量 20
3.1.1 声明变量 20
3.1.2 声明常量 21
3.2 初探数据类型 23
3.2.1 什么是整数类型 23
3.2.2 数据类型的分类 23
3.3 使用值类型 23
3.3.1 整数类型及应用 23
3.3.2 字符类型及应用 25
3.3.3 布尔类型及应用 26
3.3.4 结构类型及应用 27
3.3.5 枚举类型及应用 28
3.4 使用引用类型 30
3.4.1 什么是引用类型 30
3.4.2 引用类型的应用场合 30
3.5 类型转换 32
3.5.1 如何隐式类型转换 32
3.5.2 如何显示类型转换 33
3.5.3 装箱和拆箱 34
3.6 类型检查 35
3.6.1 is运算符 35
3.6.2 as运算符 36
3.7 运算符的使用 37
3.7.1 算术运算符 37
3.7.2 赋值运算符 38
3.7.3 关系与逻辑运算符 39
3.7.4 其他运算符 41
3.7.5 运算符的优先级 41
3.8 小结 42
3.9 习题 42
第4章 解读程序流程(教学视频:99分钟) 49
4.1 使用条件语句 49
4.1.1 if-else语句及应用 49
4.1.2 switch语句及应用 53
4.2 使用循环语句 55
4.2.1 while语句及应用 55
4.2.2 do…while语句及应用 56
4.2.3 for语句及应用 58
4.3 使用跳转语句 59
4.3.1 break语句及应用 59
4.3.2 continue语句及应用 60
4.3.3 goto语句及应用 61
4.3.4 return语句及应用 62
4.4 使用异常语句 63
4.4.1 try-catch-finally语句及应用 63
4.4.2 throw语句及应用 65
4.5 小结 67
4.6 习题 67
第5章 类与对象(教学视频:64分钟) 78
5.1 理解类 78
5.1.1 改变原有的思维方式 78
5.1.2 新的思维方法——面向对象 79
5.1.3 使用class关键字创建一个类 80
5.2 类的成员 81
5.2.1 类的成员有哪些 81
5.2.2 创建成员变量 81
5.2.3 创建方法 83
5.2.4 方法中的参数 85
5.2.5 静态成员与非静态成员 89
5.2.6 构建递归方法 90
5.3 构造函数和析构函数 92
5.3.1 如何理解构造函数 92
5.3.2 如何理解析构函数 93
5.4 小结 94
5.5 习题 94
第6章 继承与多态(教学视频:45分钟) 102
6.1 理解继承性 102
6.1.1 如何理解面向对象的继承性 102
6.1.2 C#中的继承性 103
6.1.3 访问基类成员 104
6.1.4 覆盖 105
6.2 理解多态性 107
6.2.1 如何理解面向对象的多态性 107
6.2.2 编译时多态性——重载 108
6.2.3 运行时多态性——重写 109
6.3 密封性 111
6.3.1 密封类 111
6.3.2 密封方法 112
6.4 小结 114
6.5 习题 114
第7章 接口和抽象类(教学视频:55分钟) 118
7.1 理解接口 118
7.1.1 什么是接口 118
7.1.2 创建接口 118
7.2 实现接口 119
7.2.1 类和接口之间的继承关系 119
7.2.2 接口之间的继承关系 121
7.2.3 多重继承关系 123
7.3 理解抽象类 128
7.3.1 什么是抽象类 128
7.3.2 抽象方法 128
7.4 使用抽象类 129
7.4.1 抽象类的实现 129
7.4.2 抽象类之间的继承关系 130
7.4.3 抽象类和接口之间的继承关系 132
7.5 小结 134
7.6 习题 134
第8章 域和属性(教学视频:64分钟) 140
8.1 域(field) 140
8.1.1 什么是域 140
8.1.2 实例域和静态域 140
8.1.3 只读域 142
8.1.4 域的初始化 143
8.2 属性(property) 144
8.2.1 什么是属性 144
8.2.2 只读属性 144
8.2.3 读写属性 146
8.2.4 声明抽象属性 147
8.3 索引器(index) 149
8.3.1 什么是索引器 149
8.3.2 索引器的应用 149
8.3.3 接口中的索引器 150
8.4 特性(Attribute) 152
8.4.1 使用Attribute 152
8.4.2 获取Attribute信息 153
8.4.3 创建自定义的Attribute 154
8.5 小结 155
8.6 习题 155
第9章 字符串和正则表达式(教学视频:116分钟) 160
9.1 字符串 160
9.1.1 比较字符串 160
9.1.2 格式化字符串 164
9.1.3 连接字符串 165
9.1.4 分割字符串 167
9.1.5 插入字符串 168
9.1.6 删除字符串 169
9.1.7 遍历字符串 171
9.1.8 复制字符串 174
9.1.9 大小写转换 175
9.2 StringBuilder类 176
9.2.1 创建StringBuilder对象 177
9.2.2 追加字符串 177
9.2.3 插入字符串 178
9.2.4 删除字符串 179
9.3 正则表达式 180
9.3.1 正则表达式简介 180
9.3.2 正则表达式(Regex)类 181
9.3.3 构造正则表达式 182
9.3.4 示例:验证URL 184
9.4 小结 185
9.5 习题 185
第10章 数组和集合(教学视频:73分钟) 195
10.1 数组(Array) 195
10.1.1 数组简介 195
10.1.2 创建数组 196
10.1.3 访问数组 198
10.1.4 数组排序 201
10.2 数组序列(ArrayList) 203
10.2.1 创建ArrayList 203
10.2.2 添加元素 204
10.2.3 删除元素 205
10.2.4 查找元素 206
10.2.5 遍历列表 207
10.3 哈希表(Hashtable) 209
10.3.1 Hashtable类 209
10.3.2 构造普通哈希表 210
10.3.3 SortedList类 213
10.3.4 搜索排序哈希表 213
10.4 队列(Queue) 216
10.4.1 创建队列 216
10.4.2 元素入队 217
10.4.3 元素出队 218
10.5 堆栈(Stack) 219
10.5.1 创建堆栈 219
10.5.2 元素入栈 219
10.5.3 元素出栈 220
10.6 小结 221
10.7 习题 221
第11章 文件读写和操作(教学视频:69分钟) 230
11.1 文件和文件夹 230
11.1.1 System.IO类介绍 230
11.1.2 文件类File 231
11.1.3 文件夹类Directory 232
11.1.4 文件信息类FileInfo 234
11.1.5 文件夹信息类DirectoryInfo 235
11.1.6 文件信息类与文件夹信息类的用法 236
11.2 流 236
11.2.1 流操作类介绍 236
11.2.2 文件流类FileStream 236
11.2.3 流写入类StreamWriter 240
11.2.4 流读取类StreamReader 241
11.2.5 二进制流写入类BinaryWriter 243
11.2.6 二进制流读取类BinaryReader 244
11.3 XML文件读写 246
11.3.1 XML相关类 246
11.3.2 XML数据的访问 246
11.3.3 创建XML节点 253
11.3.4 修改XML节点 254
11.3.5 删除XML节点 255
11.4 小结 256
11.5 习题 257
第3篇 C#应用篇 264
第12章 Windows窗体应用(教学视频:33分钟) 264
12.1 Windows窗体简介 264
12.1.1 认识窗体设计器 264
12.1.2 使用窗体设计器 266
12.2 Windows窗体控件 268
12.2.1 按钮控件 268
12.2.2 标签控件 271
12.2.3 文本框控件 272
12.2.4 单选按钮控件 276
12.2.5 复选框控件 279
12.2.6 列表框控件 282
12.2.7 可选列表框控件 284
12.3 菜单 287
12.3.1 创建菜单 287
12.3.2 相应菜单事件 288
12.4 单文档和多文档应用程序 290
12.4.1 基于对话框的应用程序 290
12.4.2 单文档应用程序 290
12.4.3 多文档应用程序 293
12.5 小结 300
12.6 习题 300
第13章 GDI+绘制图形(教学视频:41分钟) 304
13.1 GDI+概述 304
13.1.1 Graphics对象 304
13.1.2 坐标系统 305
13.1.3 颜色 306
13.2 基础绘图 306
13.2.1 使用钢笔Pen类绘制图形 306
13.2.2 使用画笔Brush类绘制图形 309
13.2.3 使用OnPaint事件绘制图形 315
13.2.4 字体Font类 316
13.2.5 绘制特定曲线 317
13.2.6 绘制贝塞尔曲线 318
13.2.7 位图Bitmap类 319
13.3 小结 321
13.4 习题 321
第14章 Web网络应用开发(教学视频:72分钟) 326
14.1 ASP.NET简介 326
14.1.1 什么是ASP.NET 326
14.1.2 IIS管理ASPX页面 328
14.2 ASP.NET语法 329
14.2.1 剖析ASPX页面 329
14.2.2 使用<% %>嵌入代码 330
14.2.3 使用<Script>…</Script>嵌入代码 332
14.2.4 使用Server控件 333
14.2.5 使用<%--注释--%> 334
14.2.6 ASP.NET新特性 335
14.2.7 用<%@Page……%>设置页面属性 335
14.2.8 使用<%@Import%>引入类库 336
14.3 ASP.NET内置对象 336
14.3.1 使用Application对象保存数据 336
14.3.2 使用Session对象保存数据 337
14.3.3 访问Server对象 337
14.3.4 访问Request对象 337
14.3.5 访问Response对象 338
14.4 代码绑定技术 339
14.4.1 分离显示功能和逻辑功能 339
14.4.2 使用<%@CodeFile%>绑定代码 340
14.4.3 控件事件接收用户输入 342
14.5 使用控件 344
14.5.1 文本框控件TextBox 344
14.5.2 按钮控件Button 345
14.5.3 单选框控件RadioButton 350
14.5.4 链接按钮控件LinkButton 351
14.5.5 下拉框控件DropDownList 353
14.5.6 列表框控件ListBox 356
14.5.7 复选框控件CheckBox 357
14.5.8 图像控件Image 360
14.6 Web服务 362
14.6.1 Web Services简介 362
14.6.2 创建Web服务 363
14.6.3 创建Web服务方法 365
14.6.4 使用Web服务 366
14.7 小结 369
14.8 习题 369
第15章 ADO.NET数据库技术(教学视频:54分钟) 373
15.1 ADO.NET简介 373
15.1.1 数据访问技术 373
15.1.2 System.Data命名空间 374
15.2 连接数据库 375
15.2.1 SqlConnection类 375
15.2.2 设置连接参数 376
15.2.3 创建SQL Server连接 376
15.2.4 断开SQL Server连接 378
15.2.5 其他数据库连接 378
15.3 与数据库交互 378
15.3.1 使用SqlCommand提交增删改命令 378
15.3.2 使用SqlCommand获取查询命令 381
15.3.3 使用DataAdapter提交查询命令 382
15.4 管理内存数据 384
15.4.1 了解数据集 384
15.4.2 使用DataTable实现内存表 384
15.4.3 使用DataSet管理数据 389
15.4.4 使用DataReader获取只读数据 391
15.4.5 比较DataSet和DataReader 393
15.4.6 使用DataSet加载XML数据 394
15.5 小结 395
15.6 习题 395
第16章 WPF技术(教学视频:51分钟) 400
16.1 了解WPF 400
16.1.1 WPF概述 400
16.1.2 WPF框架体系 401
16.1.3 WPF特性 402
16.2 创建WPF应用 402
16.2.1 创建一个WPF客户端应用 402
16.2.2 解析WPF应用程序的文件目录结构 404
16.3 使用控件 405
16.3.1 按钮控件 405
16.3.2 文本框控件 406
16.3.3 下拉列表框控件 407
16.3.4 图像控件 409
16.3.5 控件模板 410
16.4 布局版式 411
16.4.1 使用StackPanel面板 411
16.4.2 WrapPanel面板 412
16.4.3 DockPanel面板 412
16.4.4 Grid方式布局 414
16.4.5 UniformGrid面板 415
16.5 创建窗口 415
16.5.1 创建对话框 416
16.5.2 创建不规则窗体 417
16.6 小结 418
16.7 习题 419
第17章 Silverlight富媒体技术(教学视频:54分钟) 424
17.1 了解Silverlight技术 424
17.1.1 Silverlight技术概述 424
17.1.2 Silverlight运行原理 425
17.1.3 Silverlight结构体系 426
17.2 XAML语言 427
17.2.1 什么是XAML语言 427
17.2.2 XAML与Silverlight关系 428
17.3 创建Silverlight应用 429
17.3.1 安装Silverlight 4扩展升级 429
17.3.2 创建一个Silverlight应用 431
17.4 使用基础控件 433
17.4.1 日期(DatePicker)控件 433
17.4.2 自动完成(AutoCompleteBox)控件 435
17.4.3 图像(Image)控件 436
17.4.4 网页浏览器(WebBrowser)控件 438
17.4.5 富文本编辑(RichTextBox)控件 439
17.5 Silverlight多媒体应用 441
17.5.1 播放多媒体 441
17.5.2 捕获本地设备资源 443
17.6 Silverlight中的几何绘图 446
17.6.1 使用Shape对象绘制图形 446
17.6.2 使用Geometry对象定义形状 447
17.6.3 图形变换 448
17.6.4 创建三维透视转换 449
17.7 小结 451
17.8 习题 451
第18章 反射(教学视频:20分钟) 457
18.1 认识程序集 457
18.1.1 创建类库 457
18.1.2 使用类库 460
18.2 命名空间 462
18.2.1 理解命名空间 462
18.2.2 使用using语句 463
18.2.3 使用别名 463
18.2.4 命名空间的嵌套 464
18.3 使用反射 465
18.3.1 什么是反射 465
18.3.2 获取运行时类型 466
18.3.3 查看类型信息 467
18.3.4 反射在工厂设计模式中的应用 468
18.4 小结 471
18.5 习题 471
第19章 网络应用(教学视频:51分钟) 472
19.1 TCP/IP协议的应用 472
19.1.1 理解TCP/IP协议 472
19.1.2 理解Scoket协议 473
19.1.3 同步套接字 473
19.1.4 异步套接字 475
19.1.5 使用TcpClient对象创建网络连接 476
19.1.6 使用套接字发送消息 477
19.2 多线程 480
19.2.1 什么是进程 480
19.2.2 什么是线程 481
19.2.3 多线程应用 482
19.3 POP3和SMTP协议 483
19.3.1 使用POP3接收邮件 483
19.3.2 使用SMTP发送邮件 489
19.4 使用FTP协议 491
19.4.1 了解FTP协议 491
19.4.2 上传文件 491
19.5 P2P技术的应用 494
19.5.1 什么是P2P 494
19.5.2 创建简单的P2P应用 494
19.6 小结 498
19.7 习题 498
第4篇 C#开发篇 503
第20章 开发实例:井字游戏(教学视频:17分钟) 503
20.1 游戏策划 503
20.1.1 拟定游戏规则 503
20.1.2 功能设计 503
20.2 界面开发 503
20.2.1 创建九宫格棋盘 504
20.2.2 添加顶部菜单 504
20.2.3 设计底部状态栏 505
20.3 功能开发 505
20.3.1 初始化工作 505
20.3.2 设定游戏难度等级 507
20.3.3 设置人机对战与双人对战 508
20.3.4 判断输赢 508
20.3.5 游戏开始 511
20.3.6 计算机思考 513
20.3.7 处理操作事件 517
20.3.8 编写“帮助”代码 518
20.3.9 编写“关于”代码 518
20.3.10 退出游戏 518
20.4 小结 519