《C#编程实战宝典》是2014年清华大学出版社出版的图书,作者是付强、丁宁等。
基本介绍
- 书名C#编程实战宝典
- 作者付强、 丁宁等
- ISBN9787302355175
- 定价99.8元
- 出版社清华大学出版社
- 出版时间2014-7-25
- 装帧平装
内容简介
本书全面、系统地介绍了使用C#语言进行开发的方方面面知识。书中的各个技术点都提供了实例供读者实践练习,各章后还提供了实战练习题帮助读者巩固和提高。本书中的每个例子都经过精挑细选,具有较强的针对性,力求使读者通过书中的示例能够更迅速地掌握相关知识。本书配1张DVD光碟,内容为15.5小时高清配套教学视频及本书涉及的实例源档案,光碟中还赠送了一部.NET面试宝典电子书和大量的C#开发範例、模组和项目案例的源程式及教学视频等资料。
本书共32章,分为8篇。第1篇介绍了VisualStudio2010的开发环境、发展历史和套用範围等;第2篇介绍了C#语言的基础知识,如数据类型、变数与表达式、程式控制语言、函式与方法等;第3篇介绍了面向对象的基础知识及其在C#中的新套用和特徵;第4篇介绍了Windows应用程式设计,对VisualStudio所提供的控制项进行了较为全面的介绍;第5篇介绍了C#的高级特性和工具,如异常处理、档案系统与流、XML和多执行绪编程等;第6篇主要介绍了Web资料库开发的相关知识;第7篇介绍了WCF、WPF、WF和LINQ这4个.NET4.0中新增的功能;第8篇介绍了音乐商店网站和电子购物商城两个项目案例的总体设计和实现(因篇幅所限,本篇内容以PDF电子文档的格式收录于本书的配书光碟中)。
本书适合想全面学习C#编程和使用C#进行开发的工程技术人员阅读。对于.NET程式设计师,本书更是一本不可多得的案头必备参考手册。,本书可作为计算机和软体工程等专业的教材和教学参考书。
一部有关电脑编程的图书,本书全面、系统地介绍了使用C#语言进行开发的方方面面知识。书中的各个技术点都提供了实例供读者实践练习,各章后还提供了实战练习题帮助读者巩固和提高。本书中的每个例子都经过精挑细选,具有较强的针对性,力求使读者通过书中的示例能够更迅速地掌握相关知识。
图书目录
第1篇 开发环境及C#语言简介
第1章 Visual Studio 2010介绍( 教学视频31分钟) 2
1.1 .NET概述 2
1.1.1 .NET的前世今生 2
1.1.2 什幺是微软中间语言 3
1.1.3 背后默默付出的垃圾收集器 4
1.2 .NET Framework 概述 5
1.2.1 .NET Framework包含什幺 5
1.2.2 .NET平台的核心CLR 7
1.2.3 基类库是神马 7
1.2.4 公共语言运行规范 9
1.3 Visual Studio 2010有哪些新增功能 9
1.4 Visual Studio 2010开发环境介绍 11
1.4.1 安装Visual Studio 2010 11
1.4.2 Visual Studio 2010提供哪些项目模板 13
1.4.3 Visual Studio 2010提供哪些网站模板 15
1.4.4 Visual Studio 2010提供哪些档案模板 15
1.4.5 与Visual Studio 2010的第一次相会 16
1.4.6 必须熟悉的开发工具列和选单栏 17
1.4.7 用对象浏览器查看对象信息 20
1.4.8 可视化利器工具箱和属性视窗 21
1.5 定製环境 23
1.5.1 让字型和颜色更适合自己 23
1.5.2 在项目和解决方案中保存档案 23
1.5.3 使用任务列表和注释管理代码 24
1.5.4 在命令视窗中执行命令 24
1.5.5 代码显示行号与代码摺叠 26
1.5.6 管理Visual Studio 2010中的子视窗 27
1.5.7 调试与生成程式 28
1.6 学会使用MSDN帮助系统 30
1.7 用Visual Studio 2010编写第一个程式 31
1.8 本章 33
1.9 实战练习 34
第2章 C#简介( 教学视频16分钟) 35
2.1 C#与.NET的关係 35
2.2 C#有哪些特点 35
2.2.1 简单性 36
2.2.2 类型统一性 38
2.2.3 面向对象性 39
2.2.4 类型安全性 40
2.2.5 兼容性 41
2.3 C#与其他语言对比 41
2.4 C#与VB.NET的异同 42
2.4.1 代码表现形式的差异 42
2.4.2 数据类型和变数使用的差异 43
2.4.3 类、数据类型、函式以及接口 44
2.4.4 操作符与表达式的差异 44
2.4.5 控制流程语句的差异 45
2.4.6 错误处理的差异 47
2.4.7 关键字的差异 47
2.4.8 访问修饰符的差异 47
2.4.9 语法的差异 48
2.4.10 C#与VB.NET实例对比 48
2.5 C#与C++的异同 51
2.5.1 託管环境的差异 51
2.5.2 C#使用.NET的对象 52
2.5.3 C#的语句 52
2.5.4 C#中取消的要素 52
2.5.5 操作符重载的差异 52
2.5.6 头档案的差异 53
2.5.7 程式书写的差异 53
2.5.8 被取消的指针 53
2.5.9 虚函式的差异 53
2.5.10 C#与C++实例对比 55
2.6 C#与Java的异同 56
2.6.1 数据类型的差异 56
2.6.2 类的差异 57
2.6.3 属性定义的差异 58
2.6.4 事件、指针与界面的差异 59
2.6.5 C#与Java实例对比 59
2.7 本章 60
2.8 实战练习 61
第2篇 C#程式设计基础
第3章 C#数据类型( 教学视频37分钟) 64
3.1 初识C#的数据类型 64
3.2 存储实际数据的值类型 65
3.2.1 什幺是值类型 65
3.2.2 整型 66
3.2.3 字元型 67
3.2.4 浮点型 68
3.2.5 小数型 69
3.2.6 大整数型 69
3.2.7 複数型 70
3.2.8 布尔型 71
3.2.9 C#值类型的数值类型 71
3.3 存储引用地址的引用类型 72
3.3.1 什幺是引用类型 72
3.3.2 类类型 72
3.3.3 对象类型 73
3.3.4 字元串类型 73
3.3.5 接口类型 75
3.3.6 dynamic类型 76
3.4 数据类型是可以转换的 78
3.4.1 什幺时候发生类型转换 78
3.4.2 显式转换 78
3.4.3 隐式转换 79
3.4.4 不同数值类型之间的转换 79
3.4.5 数值类型和字元串之间的转换 80
3.4.6 字元的ASCII码和Unicode码之间的转换 82
3.4.7 字元串和字元数组之间的转换 84
3.4.8 字元串和位元组数组之间的转换 85
3.4.9 数值类型和位元组数组之间的转换 86
3.4.10 不同类型之间的强制转换 87
3.5 C#的用户自定义数据类型 88
3.5.1 认识枚举类型 88
3.5.2 枚举编程示例 89
3.5.3 认识结构类型 90
3.5.4 结构编程示例 90
3.5.5 结构也支持方法 92
3.5.6 结构与类有什幺不同 93
3.5.7 哪些地方应使用结构类型 94
3.6 本章 94
3.7 实战练习 94
第4章 变数与表达式( 教学视频42分钟) 96
4.1 常量与变数 96
4.1.1 什幺是常量 96
4.1.2 静态常量的特点 96
4.1.3 动态常量的特点 97
4.1.4 该用静态常量还是动态常量 97
4.1.5 什幺是变数 98
4.1.6 认识变数的实质 99
4.1.7 变数有哪些种类 100
4.1.8 怎样给变数命名 102
4.2 连线的桥樑——运算符与表达式 102
4.2.1 C#的运算符分类 102
4.2.2 算术运算符 103
4.2.3 关係运算符 105
4.2.4 一般赋值运算符 106
4.2.5 複合赋值运算符 107
4.2.6 逻辑运算符 109
4.2.7 複习二进制知识 112
4.2.8 二进制的位运算符 113
4.2.9 有逻辑判断功能的三元运算符 115
4.2.10 自增和自减运算符 116
4.2.11 应该先进行什幺运算 117
4.3 关键字 118
4.4 本章 119
4.5 实战练习 119
第5章 程式控制语言( 教学视频46分钟) 120
5.1 C#有哪些种类的语句 120
5.2 选择语句让程式具有智慧型 121
5.2.1 选择语句的作用 121
5.2.2 认识if语句 121
5.2.3 单分支if语句 122
5.2.4 二分支if语句 123
5.2.5 多分支if语句 124
5.2.6 if语句多层嵌套 125
5.2.7 switch多分支选择语句 127
5.2.8 switch语句编程示例 128
5.3 用循环语句进行重複劳动 129
5.3.1 do循环语句 129
5.3.2 while循环语句 130
5.3.3 for循环语句 131
5.3.4 foreach循环语句 133
5.4 用跳转语句改变程式流程 134
5.4.1 用break语句跳出循环 134
5.4.2 用continue语句进入下次循环 135
5.4.3 用return语句返回 136
5.4.4 用goto语句跳到指定行 137
5.4.5 用goto语句跳出switch语句 138
5.4.6 用goto语句跳出一层嵌套循环 139
5.4.7 用throw语句抛出异常 141
5.5 用注释语句让代码意图更明了 142
5.5.1 普通注释语句 142
5.5.2 可生成帮助文档的注释语句 143
5.6 本章 146
5.7 实战练习 146
第6章 函式与方法( 教学视频38分钟) 147
6.1 函式是C#的基本结构 147
6.1.1 函式与方法 147
6.1.2 无参和有参函式 147
6.2 函式的必备件参数与返回值 148
6.2.1 参数有什幺用 148
6.2.2 值参数的使用 148
6.2.3 引用参数的使用 149
6.2.4 输出参数的使用 152
6.2.5 数组参数的使用 153
6.2.6 命名参数和可选参数 154
6.2.7 利用返回值获取数值 156
6.2.8 利用返回值判断逻辑 157
6.3 变数的作用域 159
6.3.1 最常见的局部变数 159
6.3.2 需要惧用的全局变数 160
6.4 认识主入口函式Main() 161
6.5 C#中最常用的函式 165
6.6 本章 166
6.7 实战练习 166
第3篇 C#面向对象编程简介
第7章 类和对象( 教学视频33分钟) 170
7.1 类和对象的关係 170
7.2 类的定义 171
7.2.1 创建一个类 171
7.2.2 类成员的访问类型 173
7.2.3 创建类的成员方法 174
7.3 创建对象 175
7.3.1 类的构造函式有什幺用 175
7.3.2 成员变数的初始化 177
7.3.3 创建类的拷贝构造函式 179
7.3.4 用关键字this引用当前对象 179
7.4 静态成员的使用 180
7.4.1 什幺是类的静态成员 180
7.4.2 静态方法怎样调用 181
7.4.3 静态构造函式的优势 182
7.4.4 使用私有构造函式保护静态成员 182
7.4.5 使用静态成员变数计录对象数量 183
7.5 对象的销毁 184
7.5.1 C#的析构函式 184
7.5.2 用Dispose()方法释放资源 185
7.5.3 用using声明作用範围 185
7.6 参数传递 186
7.6.1 通过引用传递返回多个值 186
7.6.2 用out类型参数返回值 189
7.7 重写方法和构造函式让类更宜用 191
7.8 用属性封装类的数据 193
7.8.1 类的属性定义 193
7.8.2 用get访问器返回属性值 195
7.8.3 用set访问器设定属性值 196
7.9 用Readonly类型变数为类设定不变的值 196
7.10 本章 198
7.11 实战练习 199
第8章 继承与多态( 教学视频39分钟) 200
8.1 用继承对类进行扩展 200
8.1.1 面向对象程式中的继承 200
8.1.2 C#的继承机制 201
8.1.3 继承是怎样调用构造函式 205
8.1.4 用base关键字调用基类构造函式 206
8.1.5 使用protected访问类型 208
8.1.6 用sealed关键字终止继承 209
8.2 万类之根——Object类 210
8.3 C#类的多态特性 212
8.3.1 什幺是多态 212
8.3.2 在基类与子类中定义同名方法 213
8.3.3 方法重写——virtual和override关键字的使用 214
8.3.4 用new关键字指出重写方法 216
8.4 对象类型转换——Up-casting和Down-casting 217
8.4.1 子类到基数的Up-casting类型转换 217
8.4.2 基数到子类的Down-casting类型转换 217
8.4.3 用is和as关键字做对象类型检查 218
8.5 装箱和拆箱 219
8.6 本章 219
8.7 实战练习 220
第9章 抽象类和接口( 教学视频24分钟) 221
9.1 定义抽象类 221
9.2 定义统一规划的接口 224
9.2.1 定义接口 224
9.2.2 一个类实现多个接口 227
9.2.3 实现多接口同名方法 229
9.2.4 使用is和as操作符实现接口转换 231
9.2.5 接口间能继承吗 232
9.3 本章 234
9.4 实战练习 234
第10章 数组与集合( 教学视频38分钟) 235
10.1 数组的数组——多维数组 235
10.1.1 认识多维数组 235
10.1.2 怎样实例化多维数组 236
10.1.3 什幺是变长数组 238
10.2 用foreach循环进行数组的遍历 240
10.3 比数组灵活好用的集合 243
10.3.1 用ArrayList集合保存不同类型数据 244
10.3.2 用Stack集合处理栈 246
10.3.3 用Queue集合处理伫列 248
10.4 键-值对应形式的字典类型集合 249
10.4.1 Hashtable类存储方式 250
10.4.2 创建Hashtable集合的方法 250
10.4.3 用Add方法向Hashtable集合中添加元素 250
10.4.4 从Hashtable集合中获取元素的方法 251
10.4.5 用Remove方法移除Hashtable集合中的元素 251
10.4.6 获取Hashtable集合的元素与键值 252
10.4.7 在Hashtable集合中检索元素 253
10.4.8 SortedList类与Hashtable类的区别 253
10.4.9 SortedList类常用方法 253
10.5 本章 255
10.6 实战练习 256
第11章 代理和事件( 教学视频31分钟) 257
11.1 代理 257
11.1.1 什幺是代理 257
11.1.2 代理所指向方法的类型和标识 258
11.1.3 代理引用的声明和使用 258
11.1.4 .NET Framework中的代理 262
11.1.5 代理用作方法的参数 262
11.1.6 了解多重代理 264
11.1.7 多重代理的实现方法 264
11.1.8 怎样移除多重代理指向的方法 266
11.2 事件和事件处理 267
11.2.1 C#的事件处理 267
11.2.2 事件举例——时钟事件 268
11.2.3 多重事件的处理 270
11.2.4 利用事件传递数据 271
11.3 本章 274
11.4 实战练习 275
第4篇 Windows程式设计
第12章 Windows应用程式概述( 教学视频29分钟) 278
12.1 Windows应用程式 278
12.1.1 什幺是Windows应用程式 278
12.1.2 创建Windows应用程式 278
12.1.3 程式入口档案Program.cs 279
12.1.4 视窗程式档案Form1.cs 279
12.1.5 视窗设计档案Form1.Designer.cs 280
12.2 Windows应用程式窗体 281
12.2.1 C#的Form类 281
12.2.2 Form类常用属性 281
12.2.3 Form类常用事件 282
12.3 为窗体添加控制项 283
12.3.1 Windows窗体控制项 283
12.3.2 控制项常见属性 284
12.3.3 控制项常用公共事件 284
12.3.4 向窗体添加控制项的方法 285
12.3.5 调整控制项的布局 285
12.4 Windows应用程式编程示例 287
12.4.1 创建一个窗体 287
12.4.2 用属性控制窗体外观 287
12.4.3 向窗体添加控制项 288
12.4.4 添加控制项事件处理程式 288
12.4.5 查看窗体运行效果 288
12.5 本章 289
12.6 实战练习 289
第13章 Visual Studio 2010控制项介绍( 教学视频39分钟) 290
13.1 接收输入的文本编辑控制项 290
13.1.1 TextBox控制项的作用 290
13.1.2 怎样获取或设定TextBox控制项的内容 291
13.1.3 TextBox控制项也可输入多行文本 292
13.1.4 选择TextBox控制项中的文本 293
13.1.5 设定Textbox控制项为密码框 294
13.1.6 检查TextBox控制项的输入值 295
13.1.7 支持格式化的RichTextBox控制项 295
13.1.8 选择RichTextBox控制项中的文本 296
13.1.9 在RichTextBox控制项中撤销上次操作 297
13.1.10 拖放RichTextBox控制项中的文本 298
13.1.11 设定RichTextBox控制项中的文本格式 299
13.1.12 设定RichTextBox控制项的文本缩进 300
13.1.13 在RichTextBox控制项中添加超连结 302
13.1.14 RichTextBox控制项的档案操作 302
13.2 不能编辑的文本显示控制项 304
13.2.1 用Label控制项显示文本 304
13.2.2 用LinkLabel控制项显示超连结文本 305
13.2.3 保存超连结的LinkCollection集合 307
13.2.4 LinkLabel控制项编程示例 307
13.3 包容其他控制项的容器控制项 309
13.3.1 用Panel控制项细分窗体 309
13.3.2 有标题的容器控制项GroupBox 312
13.3.3 多页容器控制项TabControl 313
13.3.4 TabControl控制项的几种常见外观 314
13.3.5 TabControl控制项中标籤页的选择 316
13.3.6 添加TabControl控制项中的标籤页 318
13.3.7 格线形式容器控制项TableLayoutPanel 320
13.3.8 设定TableLayoutPanel控制项的外观 321
13.3.9 添加控制项到TableLayoutPanel控制项 323
13.4 值设定控制项 325
13.4.1 用CheckBox控制项选择打开或关闭状态 325
13.4.2 用RadioButton控制项进行多选一操作 328
13.5 本章 329
13.6 实战练习 329
第14章 列表选择控制项介绍( 教学视频43分钟) 330
14.1 ListBox控制项 330
14.1.1 用ListBox显示列表 330
14.1.2 用ListBox添加列表项 330
14.1.3 设定ListBox的行为 332
14.1.4 让ListBox支持多选 334
14.1.5 设定ListBox的外观 336
14.1.6 对ListBox列表进行排序 337
14.1.7 控制ListBox列表项的刷新 337
14.1.8 查找ListBox中的列表 338
14.1.9 ListBox控制项的常用方法 340
14.2 ComboBox控制项 342
14.2.1 认识ComboBox控制项 342
14.2.2 设定ComboBox下拉样式 342
14.2.3 设定ComboBox的自动补齐 344
14.2.4 ComboBox自动补齐的数据源 344
14.2.5 设定ComboBox自动补齐方式 347
14.2.6 ComboBox的常见事件 348
14.2.7 修改ComboBox的子项 349
14.2.8 ComboBox的子项绘製 350
14.3 CheckedListBox控制项 353
14.3.1 带複选标记的列表控制项CheckedListBox 353
14.3.2 CheckedListBox控制项编程示例 355
14.4 ListView控制项 359
14.4.1 带图示的列表控制项ListView 359
14.4.2 ListView的5种视图 360
14.4.3 使用任务窗体设定ListView 361
14.4.4 用ImageList给ListView提供图示 362
14.4.5 设定ListView的子项 364
14.4.6 设定Details视图模式的数据 365
14.4.7 给ListView添加分组设定 367
14.4.8 让ListView支持拖曳操作 368
14.4.9 在ListView中进行搜寻 370
14.5 TreeView控制项 371
14.5.1 用TreeView控制项显示分层数据 371
14.5.2 添加节点到TreeView 372
14.5.3 在节点前显示複选框 374
14.5.4 选中节点的常用约定 376
14.5.5 用ImageList为TreeView提供图示 376
14.5.6 展开与摺叠TreeView的节点 377
14.5.7 允许编辑TreeView的节点文本 379
14.5.8 让TreeView支持拖曳操作 380
14.6 本章 383
14.7 实战练习 383
第15章 数据显示控制项( 教学视频27分钟) 384
15.1 DataGridView控制项以表格显示数据 384
15.1.1 DataGridView有哪些功能 384
15.1.2 设定对表格数据的操作 385
15.1.3 在窗体中如何放置DataGridView 388
15.1.4 为DataGridView提供数据 389
15.1.5 向DataGridView添加列 389
15.1.6 冻结DataGridView中的列 390
15.1.7 编辑DataGridView中的列 391
15.2 为DataGridView服务的类 392
15.2.1 DataGridViewElement对象模型 392
15.2.2 单元格对象模型DataGridViewCell 393
15.2.3 数据列对象模型DataGridViewColumn 394
15.2.4 数据行对象模型DataGridViewRow 394
15.3 设定DataGridView的格式 395
15.3.1 设定单元格框线样式 395
15.3.2 设定DataGridView控制项框线样式 396
15.3.3 设定单元格框线样式 397
15.3.4 设定左上角单元格框线样式 398
15.3.5 设定单元格样式 399
15.3.6 单元格样式设定的优先权 402
15.3.7 设定DataGridView外观 404
15.3.8 用属性设定可对表格的操作 404
15.3.9 DataGridView其他常用属性 405
15.3.10 用AutoResizeColumn方法调列宽 407
15.3.11 用AutoResizeColumns方法调整所有列宽 409
15.3.12 用AutoResizeColumnHeadersHeight方法调整列标题高度 410
15.3.13 用AutoResizeRowHeadersWidth方法调整行标题宽度 411
15.3.14 DataGridView其他常用方法 412
15.4 DataGridView中显示数据的相关类 413
15.4.1 设定数据排序模式 413
15.4.2 用DataGridViewTextBoxColumn显示文本数据列 413
15.4.3 用DataGridViewCheckBoxColumn显示二元状态数据列 415
15.4.4 用DataGridViewImageColumn显示图像数据列 416
15.4.5 用DataGridViewButtonColumn显示按钮数据列 418
15.4.6 用DataGridViewComboBoxColumn显示下拉列表数据列 419
15.4.7 用DataGridViewLinkColumn显示超连结数据列 421
15.5 本章 423
15.6 实战练习 423
第16章 通用对话框( 教学视频40分钟) 424
16.1 讯息对话框 424
16.1.1 用讯息对话框显示信息 424
16.1.2 该怎样显示讯息对话框 425
16.1.3 讯息对话框能显示哪些按键 426
16.1.4 用户按了哪个按钮 427
16.1.5 讯息对话框可显示哪些图示 429
16.1.6 讯息对话框编程示例 430
16.2 档案对话框 433
16.2.1 认识OpenFileDialog组件 433
16.2.2 显示“打开档案”对话框 434
16.2.3 打开捷径引用的档案 434
16.2.4 选择多个档案 435
16.2.5 设定可打开的档案类型 436
16.2.6 设定“打开”档案对话框的外观 438
16.2.7 检查指定的档案是否存在 440
16.2.8 使用SaveFileDialog组件 441
16.2.9 SaveFileDialog组件编程示例 442
16.2.10 储存档案时的覆盖与新建 444
16.2.11 使用FolderBrowserDialog组件 444
16.2.12 FolderBrowserDialog组件编程示例 445
16.3 字型选择对话框 448
16.3.1 使用FontDialog组件 448
16.3.2 FontDialog组件编程示例 449
16.4 颜色选择对话框 451
16.4.1 使用ColorDialog组件 451
16.4.2 ColorDialog组件编程示例 452
16.5 列印相关对话框 454
16.5.1 使用PrintDocument组件 454
16.5.2 PrintDocument组件编程示例 454
16.5.3 使用PageSetupDialog组件 457
16.5.4 PageSetupDialog组件编程示例 458
16.5.5 使用PrintPreviewDialog组件 458
16.5.6 PrintPreviewDialog组件编程示例 460
16.5.7 使用PrintDialog组件 462
16.6 本章 463
16.7 实战练习 464
第17章 其他常用控制项( 教学视频29分钟) 465
17.1 计时器组件 465
17.1.1 Timer组件有什幺用 465
17.1.2 用Timer控制程式定时执行 466
17.1.3 用Timer製作秒表 467
17.1.4 启动和重置Timer 469
17.2 图形控制项 470
17.2.1 用PictureBox控制项显示图片 470
17.2.2 PictureBox显示图片的5种方式 471
17.2.3 更新PictureBox中的图片 472
17.2.4 用ImageList存储图片 473
17.2.5 哪些控制项可用ImageList中的图片 474
17.3 选单控制项 475
17.3.1 用MenuStrip创建选单 475
17.3.2 有哪些方法添加选单项 476
17.3.3 为选单项编写代码完成相应功能 479
17.3.4 用ToolStrip创建工具列 481
17.3.5 工具列中可使用的按钮类型 482
17.3.6 设定工具列的外观和行为 483
17.3.7 设定ToolStripComboBox的自动完成功能 485
17.3.8 设定ToolStrip的外观 486
17.3.9 用ContextMenuStrip创建快捷选单 486
17.4 本章 487
17.5 实战练习 487
第18章Windows应用程式的部署(教学视频22分钟) 489
18.1你了解这两种部署方案吗 489
18.1.1什幺是ClickOnce部署方案 489
18.1.2什幺是WindowsInstaller部署方案 490
18.2ClickOnce部署 490
18.2.1创建一个部署用的示例程式 490
18.2.2启动“发布嚮导”的3种方法 491
18.2.3设定发布应用程式的3个URL地址 492
18.2.4为应用程式设定名称 494
18.2.5设定需发布的非代码档案 494
18.2.6为应用程式添加下载组 495
18.2.7设定应用程式的系统必备组件 495
18.2.8设定安装组件的许可权 496
18.2.9应用程式的3种发布方式 497
18.2.10将应用程式发布到网站 497
18.2.11将应用程式发布到已分享档案夹 499
18.2.12将应用程式发布到CD-ROM 500
18.2.13发布应用程式 501
18.2.14安装发布的应用程式 503
18.3WindowsInstaller部署 504
18.3.1创建一个部署用的示例程式 504
18.3.2创建部署项目 505
18.3.3设定档案安装到目标机器的位置 505
18.3.4添加项目输出组 506
18.3.5设定安装后的桌面捷径 507
18.3.6更改安装应用程式的部署特性 508
18.3.7将应用程式信息添加到注册表 509
18.3.8安装过程中可使用的对话框 509
18.3.9“欢迎使用”用户界面对话框 510
18.3.10“选择安装资料夹”用户界面对话框 511
18.3.11“确认安装”用户界面对话框 511
18.3.12“进度”用户界面对话框 512
18.3.13“安装完成”用户界面对话框 512
18.3.14安装过程中的自定义默认对话框 513
18.3.15“单选按钮”用户界面对话框 514
18.3.16“複选框”用户界面对话框 515
18.3.17“文本框”用户界面对话框 516
18.3.18“客户信息”用户界面对话框 517
18.3.19“许可协定”用户界面对话框 517
18.3.20“自述档案”用户界面对话框 518
18.3.21“注册用户”用户界面对话框 518
18.3.22生成应用程式安装档案 519
18.4比较两种部署方案 519
18.5本章 520
18.6实战练习 520
第5篇C#高级编程技术和工具
第19章异常处理(教学视频28分钟) 522
19.1程式运行中的 522
19.2C#和.NET中的异常处理 524
19.2.1使用try…catch…finally结构处理异常 524
19.2.2捕获程式中可能产生的异常 526
19.2.3用finally语段释放资源 528
19.3多异常的捕获 530
19.3.1什幺多异常 530
19.3.2异常的继承关係 533
19.3.3捕获所有异常的方法 534
19.4定义用户异常的方法 534
19.5本章 537
19.6实战练习 537
第20章档案系统与流(教学视频45分钟) 538
20.1软体系统环境相关信息 538
20.1.1用System.Environment类获得应用程式运行环境的信息 538
20.1.2System.Environment类的套用举例 538
20.1.3用Enviroment.GetFolderPath()获得各种Windows标準资料夹的路径 540
20.2对档案进行操作 542
20.2.1C#对档案进行操作的类 542
20.2.2用System.IO.File类的静态方法操作档案 542
20.2.3用System.IO.FileInfo类的方法操作档案 544
20.3对资料夹进行操作 545
20.3.1C#对资料夹操作的类 545
20.3.2用System.IO.Directory类的静态方法操作资料夹 545
20.3.3用System.IO.DirectoryInfo类的方法操作资料夹 547
20.4流档案概述 549
20.4.1了解流 549
20.4.2Stream类的常用方法和属性 549
20.5使用流对档案进行读写 550
20.5.1使用System.IO.FileStream类进行档案读写 550
20.5.2用System.IO.FileStream类打开文本档案 551
20.5.3用BinaryReader和BinaryWriter类读写原始档案 553
20.5.4用StreamReader和StreamWriter类读写文本档案 554
20.6序列化和反序列化 554
20.6.1什幺是对象序列化 555
20.6.2用格式器描述被序列化对象 555
20.6.3对象序列化使用示例一 555
20.6.4对象序列化使用示例二 558
20.6.5对象序列化使用示例三 560
20.7异步读取数据 562
20.7.1什幺是异步读取数据 562
20.7.2异步读取数据使用示例 562
20.8本章 564
20.9实战练习 564
第21章可扩展标记语言(教学视频30分钟) 565
21.1认识XML 565
21.1.1文档对象模型的功能 566
21.1.2用XPath查询XML文档 567
21.1.3了解可扩展样式表语言XSL 567
21.1.4用XMLSchemas设定数据元素和属性 568
21.1.5.NET中处理XML的相关类 568
21.2使用XMLDOM进行编程 569
21.2.1创建一个空的XML文档 571
21.2.2向XML文档添加元素 572
21.2.3更新XML文档中的元素 573
21.2.4删除XML文档中的元素 576
21.2.5载入和保存XML文档 577
21.3用DataSet保存XML数据 577
21.3.1不使用Schema档案载入XML文档 580
21.3.2使用Schema档案载入XML文档 582
21.3.3遍历XML文档 584
21.4用XPath查找节点 586
21.4.1XPath简介 586
21.4.2XPath查询示例代码 586
21.4.3XPath示例代码讲解 590
21.5使用XSL将XML文档转化为另一种格式 591
21.5.1XSL转换示例一 591
21.5.2XSL转换示例讲解 595
21.5.3XSL转换示例二 596
21.6本章 597
21.7实战练习 597
第22章多执行绪编程(教学视频27分钟) 599
22.1C#执行绪的主要特徵 599
22.1.1输出不同内容的两个执行绪 599
22.1.2调用同一方法的两个执行绪 600
22.1.3静态变数在多执行绪多执行绪中的套用 601
22.1.4执行绪调度 603
22.1.5执行绪和进程的关係 603
22.1.6何时需要使用多执行绪 603
22.1.7何时不要使用多执行绪 604
22.2创建并开始一个执行绪 604
22.2.1用Thread类创建执行绪 604
22.2.2向ThreadStart传递参数 605
22.2.3给执行绪命名 607
22.2.4C#的后台执行绪 607
22.2.5设定执行绪优先权 608
22.2.6执行绪中的异常处理 608
22.3执行绪同步 610
22.3.1执行绪同步和协同的可用性工具 610
22.3.2阻止现在的执行绪 611
22.3.3Joining一个执行绪 612
22.4执行绪安全 612
22.4.1了解执行绪安全 612
22.4.2选择一个同步对象 614
22.4.3使用嵌套锁 615
22.4.4什幺时候上锁合适 615
22.4.5使用锁的效率考虑 616
22.4.6执行绪安全与.NETFramework 617
22.5用中断和取消提前释放执行绪 618
22.5.1中断执行绪 618
22.5.2取消执行绪 619
22.6执行绪有哪些状态 619
22.7等待处理 620
22.7.1了解自动设定方法 621
22.7.2自动设定方法示例一 621
22.7.3自动设定方法示例二 622
22.7.4自动设定方法示例三 623
22.7.5ManualResetEvent类控制多个执行绪 625
22.7.6跨执行绪的互斥量 626
22.7.7使用信号量 626
22.7.8使用WaitAny、WaitAll和SignalAndWait方法 627
22.8同步性作用域 628
22.9套间执行绪 630
22.9.1什幺是套间执行绪 630
22.9.2使用套间模型 631
22.9.3用Control.Invoke方法进行跨执行绪调用 631
22.10管理工作执行绪的BackgroundWorker组件 631
22.10.1BackgroundWorker的特徵 632
22.10.2BackgroundWorker组件编程示例一 632
22.10.3BackgroundWorker组件编程示例二 633
22.10.4BackgroundWorker组件编程示例三 635
22.11用于读/写操作的锁 636
22.11.1了解读/写操作的锁 636
22.11.2管理资源访问锁定状态类ReaderWriterLockSlim 637
22.11.3读/写操作锁的进一步说明 638
22.12用执行绪池管理执行绪 639
22.13用异步代理得到执行绪返回的数据 641
22.14.NET提供的计时器 642
22.15各执行绪数据的局部存储 644
22.16本章 644
22.17实战练习 645
第6篇Web资料库开发
第23章资料库基础知识(教学视频15分钟) 648
23.1了解SQLServer 648
23.2操作MSSQL数据表 649
23.2.1在资料库中创建、修改和删除表 650
23.2.2向表中插入、修改、删除和检索数据 650
23.2.3设定表的主键约束 653
23.2.4设定表的外键约束 654
23.2.5设定表的唯一性约束 654
23.2.6设定表的CHECK约束 655
23.2.7设定列的默认约束 655
23.3资料库的存储过程 655
23.3.1创建存储过程的SQL语句 656
23.3.2执行和删除存储过程的SQL语句 657
23.3.3用SQLServerManagementStudio管理存储过程 657
23.4资料库中的触发器 659
23.4.1创建和使用触发器的SQL语句 659
23.4.2用SQLServerManagementStudio管理触发器 660
23.5本章 661
23.6实战练习 661
第24章ADO.NET资料库编程(教学视频32分钟) 662
24.1ADO.NET介绍 662
24.1.1ADO.NET是神马 662
24.1.2ADO.NET相关的类和接口 663
24.2DataSet和DataTable类 664
24.2.1表示记忆体数据表的DataTable类 664
24.2.2创建DataTable的方法 666
24.2.3遍历DataTable中保存的记录 669
24.2.4接受和回滚DataTable的更改 670
24.2.5表示记忆体数据集合的DataSet类 673
24.2.6使用DataSet类的步骤 675
24.2.7接受和回滚DataSet的更改 679
24.3用ADO.NET访问SQLServer资料库 680
24.3.1ADO.NET访问资料库的步骤 680
24.3.2用SqlConnection连线资料库 681
24.3.3用SqlCommand执行SQL命令 684
24.3.4用SqlDataReader读取资料库记录 687
24.3.5用SqlDataAdapter获取资料库记录 689
24.3.6用SqlDataAdapter更改资料库记录 692
24.4用ADO.NET访问Access资料库 694
24.4.1System.Data.OleDb命名空间提供的功能 694
24.4.2访问Access资料库的各种类 695
24.5使用资料库访问控制项 696
24.5.1用DataGridView控制项管理资料库中的记录 696
24.5.2用BindingNavigator控制项导航记录 699
24.6本章 700
24.7实战练习 700
第25章ASP.NET技术入门(教学视频24分钟) 702
25.1初识ASP.NET 702
25.1.1了解ASP.NET 702
25.1.2System.Web常用的类 703
25.1.3创建一个Web应用程式 703
25.2用ASP.NET控制项创建网页 706
25.2.1用TextBox控制项显示文本框 706
25.2.2用Button控制项显示按钮 707
25.2.3用HyperLink控制项显示超连结 709
25.2.4用DropDownList、ListBox等显示下拉列表、列表 709
25.2.5用Menu控制项显示导航选单 711
25.3留言板网站实例 713
25.3.1资料库和页面设计 713
25.3.2设计欢迎页面 714
25.3.3设计添加留言页面 715
25.3.4设计查看留言页面 718
25.3.5发布留言板网站 721
25.4本章 723
25.5实战练习 724
第26章伺服器端控制项详解(教学视频24分钟) 725
26.1认识伺服器控制项 725
26.1.1为什幺使用伺服器控制项 725
26.1.2伺服器控制项与HTML控制项的区别 725
26.2数据操作控制项 726
26.2.1SqlDataSource的作用 726
26.2.2用SqlDataSource控制项连线到资料库 727
26.2.3用GridView控制项显示数据 732
26.2.4用DetailsView控制项显示指定记录 735
26.3用验证控制项检查用户输入 739
26.3.1必填内容的验证控制项RequiredFieldValidator 739
26.3.2比较两个值的验证控制项CompareValidator 740
26.3.3检查指定範围的验证控制项RangeValidator 743
26.3.4正则表达式验证控制项RegularExpressionValidator 743
26.3.5自定义验证控制项CustomValidator 744
26.3.6验证错误信息汇总控制项ValidationSummary 747
26.4创建ASP.NET用户控制项 748
26.5本章 751
26.6实战练习 751
第7篇.NET4.0的增强功能
第27章WPF框架(教学视频19分钟) 754
27.1WPF基础 754
27.1.1了解WPF基础架构 754
27.1.2与WPF相关的技术 755
27.2创建WPF应用程式 756
27.2.1创建WPF的过程 756
27.2.2完整的WPF应用程式实例 759
27.2.3创建WPF浏览器应用程式 761
27.3简单WPF实例 763
27.3.1用ListBox控制项实现列表显示 763
27.3.2用Hyperlink控制项实现多页面切换 767
27.3.3用DockPanel沿容器边缘定位 768
27.3.4使用StackPanel叠放包含的控制项 770
27.3.5使用数据源集合实现多数据绑定 771
27.3.6属性变更引起依赖数据绑定变化 774
27.3.7使用Brush填充图形 778
27.3.8使用Storyboard实现动画 783
27.3.9使用Storyboard实现控制项的翻转 785
27.4本章 787
27.5实战练习 787
第28章WCF框架(教学视频22分钟) 788
28.1WCF基础 788
28.1.1了解WCF架构 788
28.1.2了解WCF模型 789
28.2WCF服务和客户端实例 790
28.2.1创建WCF服务承载项目 790
28.2.2定义WCF服务协定 790
28.2.3定义实现WCF服务接口的类 792
28.2.4运行WCF服务的相关代码 793
28.2.5创建WCF客户端程式 795
28.2.6配置WCF客户端的配置 795
28.2.7WCF客户端对服务端的调用 797
28.3主要的WCF技术 799
28.3.1使用会话在客户端与服务间互动 799
28.3.2WCF事务管理模型 800
28.4本章 801
28.5实战练习 802
第29章WindowsWF框架(教学视频40分钟) 803
29.1C#的工作流开发框架 803
29.1.1了解WF框架 803
29.1.2WF框架中的重要元素 804
29.2开发WF工作流应用程式 805
29.2.1第一个WF应用程式 805
29.2.2WF工作流的基本元素WF活动 810
29.2.3自定义的代码活动 815
29.2.4WF提供的服务 818
29.3WF创建工作流实例 819
29.3.1在工作流中使用集合 819
29.3.2猜价格游戏 823
29.4本章 828
29.5实战练习 828
第30章语言集成查询LINQ(教学视频25分钟) 829
30.1LINQ概述 829
30.1.1了解LINQ查询 829
30.1.2简单LINQ查询实例 830
30.2LINQ语言基础 830
30.2.1最重要的LINQ查询表达式 831
30.2.2LINQ查询语法和方法语法实例 833
30.2.3用LINQ合併数据 835
30.2.4用LINQ转换数据 837
30.3LINQ查询数据源 838
30.3.1用LINQToSQL查询资料库中的数据 838
30.3.2用LINQToDataSet查询快取在DataSet中的数据 842
30.3.3用LINQToXML查询XML中的数据 843
30.3.4用LINQToObjects查询可枚举的集合 844
30.4本章 846
30.5实战练习 846
第8篇综合案例
第31章用MVC开发音乐商店网站 848
31.1开发站点前的配置 848
31.1.1预览音乐商店网站 848
31.1.2系统架构总览 851
31.1.3系统资料库设计 852
31.1.4系统档案目录结构 854
31.1.5创建母版页和CSS档案 856
31.1.6使用EntityFramework创建实体模型 858
31.2音乐专辑列表实现 860
31.2.1首页控制器实现 860
31.2.2创建首页视图 861
31.2.3浏览音乐流派 862
31.2.4浏览音乐明细信息 865
31.3管理音乐列表 866
31.3.1基于角色的身份验证 867
31.3.2编辑音乐信息 870
31.3.3基于模型的数据验证 875
31.4实现和管理购物车 876
31.4.1添加到购物车功能 876
31.4.2从购物车中移除功能 879
31.4.3提交购物车 880
31.5关键技术讲解 885
31.6本章 885
31.7实战练习 885
第32章电子购物商城 886
32.1系统总体设计 886
32.1.1系统功能描述 886
32.1.2WebShopping应用程式组成 888
32.1.3保存数据需要哪些表 890
32.1.4设计资料库表之间关係设计 893
32.2系统通用类和模组设计 894
32.2.1编写系统常量和枚举代码 894
32.2.2编写系统常用操作的代码 895
32.2.3设计显示标题的用户控制项 896
32.2.4设计分页用户控制项 897
32.2.5创建级联样式表web.css档案 902
32.2.6设计主题档案 902
32.2.7在Web.config中设定资料库连线字元串 903
32.2.8创建资料库对象模型 904
32.3电子购物商城首页 907
32.3.1设计首页界面 907
32.3.2设计全站搜寻的用户控制项 911
32.3.3设计登录网站的用户控制项 912
32.3.4设计显示新闻的用户控制项 914
32.3.5设计显示公告的用户控制项 916
32.4用户注册和登录 917
32.4.1用户必须先注册 918
32.4.2显示提交的用户信息 922
32.4.3处理用户登录 925
32.4.4退出系统时要做的操作 928
32.5浏览商品、购物车和订单 928
32.5.1查看商品信息 929
32.5.2对商品进行评论 932
32.5.3购物车功能 936
32.5.4将商品加入购物车 937
32.5.5查看购物车内容 940
32.5.6生成订单编号的代码 944
32.5.7生成购物订单 945
32.5.8发布留言 950
32.6商品搜寻 952
32.6.1按商品名称搜寻 953
32.6.2更複杂的高级搜寻 956
32.7用户信息中心 960
32.7.1管理用户的首页 960
32.7.2根据角色动态载入操作选单 962
32.7.3查看个人信息 965
32.7.4修改个人信息 967
32.7.5修改密码 971
32.7.6管理我的订单 974
32.8商品及其分类管理 978
32.8.1查看已有商品分类列表 978
32.8.2动态载入商品分类层次结构的代码 983
32.8.3添加新的商品分类 984
32.8.4修改已有商品分类 987
32.8.5查看已有商品列表 990
32.8.6动态载入商品分类层次树的代码 997
32.8.7添加新的商品 999
32.8.8修改已有商品 1003
32.8.9商品图片管理 1007
32.8.10显示商品图片 1012
32.8.11商品评论列表 1013
32.9系统信息中心 1018
32.9.1查看已有新闻列表 1018
32.9.2发布新的新闻 1023
32.9.3修改已发布新闻 1025
32.9.4发布公告 1029
32.9.5管理用户留言 1032
32.10系统用户和角色管理 1035
32.10.1查看已有角色列表 1036
32.10.2添加新的角色 1040
32.10.3修改已有角色 1042
32.10.4管理注册用户 1045
32.10.5添加管理员 1049
32.11本章 1053
32.12实战练习 1053
C#编程实战宝典
目录