简介
“开发宝典丛书”是由清华大学出版社为软件开发爱好者精心打造的一套软件开发百科全书。丛书强调“全面、新颖、详细、实用、深入、高效”等特色,涵盖常见的编程语言和技术。丛书中的每本书都是由从事软件开发多年、具备丰富的开发经验的老手精心编写,讲解细腻,内容实用,并精心录制了配套教学视频。可以说,这套丛书是编程爱好者系统学习软件开发技术的不二选择,一册在手,万事无忧!《开发宝典丛书:C#编程实战宝典》全面、系统地介绍了使用C#语言进行开发的方方面面知识。书中的各个技术点都提供了实例供读者实践练习,各章后还提供了实战练习题帮助读者巩固和提高。本书中的每个例子都经过精挑细选,具有较强的针对性,力求使读者通过书中的示例能够更迅速地掌握相关知识。本书配1张DVD光盘,内容为15.5小时高清配套教学视频及本书涉及的实例源文件,光盘中还赠送了一部.NET面试宝典电子书和大量的C#开发范例、模块和项目案例的源程序及教学视频等资料。 本书共32章,分为8篇。第1篇介绍了Visual Studio 2010的开发环境、发展历史和应用范围等;第2篇介绍了C#语言的基础知识,如数据类型、变量与表达式、程序控制语言、函数与方法等;第3篇介绍了面向对象的基础知识及其在C#中的新应用和特征;第4篇介绍了Windows应用程序设计,对Visual Studio所提供的控件进行了较为全面的介绍;第5篇介绍了C#的高级特性和工具,如异常处理、文件系统与流、XML和多线程编程等;第6篇主要介绍了Web数据库开发的相关知识;第7篇介绍了WCF、WPF、WF和LINQ这4个.NET 4.0中新增的功能;第8篇介绍了音乐商店网站和电子购物商城两个项目案例的总体设计和实现(因篇幅所限,本篇内容以PDF电子文档的格式收录于本书的配书光盘中)。 本书适合想全面学习C#编程和使用C#进行开发的工程技术人员阅读。对于.NET程序员,本书更是一本不可多得的案头必备参考手册。另外,本书可作为计算机和软件工程等专业的教材和教学参考书。超值、大容量DVD光盘本书实例源文件15.5小时配套教学视频13个C#典型模块源程序及9小时教学视频3个C#项目案例源程序及2.5小时教学视频207页本书第8篇内容的电子书360页《C#与.NET程序员面试宝典》电子书一分钟了解本书内容Visual Studio 2010介绍(31分钟视频)C#简介(16分钟视频)C#数据类型(37分钟视频)变量与表达式(42分钟视频)程序控制语言(46分钟视频)函数与方法(38分钟视频)类和对象(33分钟视频)继承与多态(39分钟视频)抽象类和接口(24分钟视频)数组与集合(38分钟视频)代理和事件(31分钟视频)Windows应用程序概述(29分钟视频)Visual Studio 2010控件介绍(39分钟视频)列表选择控件介绍(43分钟视频)数据显示控件(27分钟视频)通用对话框(40分钟视频)其他常用控件(29分钟视频)Windows应用程序的部署(22分钟视频)异常处理(28分钟视频)文件系统与流(45分钟视频)可扩展标记语言(30分钟视频)多线程编程(27分钟视频)数据库基础知识(15分钟视频)ADO.NET数据库编程(32分钟视频)ASP.NET技术入门(24分钟视频)服务器端控件详解(24分钟视频)WPF框架(19分钟视频)WCF框架(22分钟视频)Windows WF框架(40分钟视频)语言集成查询LINQ(25分钟视频)用MVC开发音乐商店网站电子购物商城
目录
第1篇 开发环境及C#语言简介
第1章 Visual Studio 2010介绍( 教学视频:31分钟)
1.1 .NET概述
1.1.1 .NET的前世今生
1.1.2 什么是微软中间语言
1.1.3 背后默默付出的垃圾收集器
1.2 .NET Framework 概述
1.2.1 .NET Framework包含什么
1.2.2 .NET平台的核心:CLR
1.2.3 基类库是神马
1.2.4 公共语言运行规范
1.3 Visual Studio 2010有哪些新增功能
1.4 Visual Studio 2010开发环境介绍
1.4.1 安装Visual Studio
1.4.2 Visual Studio 2010提供哪些项目模板
1.4.3 Visual Studio 2010提供哪些网站模板
1.4.4 Visual Studio 2010提供哪些文件模板
1.4.5 与Visual Studio 2010的第一次相会
1.4.6 必须熟悉的开发工具栏和菜单栏
1.4.7 用对象浏览器查看对象信息
1.4.8 可视化利器:工具箱和属性窗口
1.5 定制环境
1.5.1 让字体和颜色更适合自己
1.5.2 在项目和解决方案中保存文件
1.5.3 使用任务列表和注释管理代码
1.5.4 在命令窗口中执行命令
1.5.5 代码显示行号与代码折叠
1.5.6 管理Visual Studio 2010中的子窗口
1.5.7 调试与生成程序
1.6 学会使用MSDN帮助系统
1.7 用Visual Studio 2010编写第一个程序
1.8 本章总结
1.9 实战练习
第2章 C#简介( 教学视频:16分钟)
2.1 C#与.NET的关系
2.2 C#有哪些特点
2.2.1 简单性
2.2.2 类型统一性
2.2.3 面向对象性
2.2.4 类型安全性
2.2.5 兼容性
2.3 C#与其他语言对比
2.4 C#与VB.NET的异同
2.4.1 代码表现形式的差异
2.4.2 数据类型和变量使用的差异
2.4.3 类、数据类型、函数以及接口
2.4.4 操作符与表达式的差异
2.4.5 控制流程语句的差异
2.4.6 错误处理的差异
2.4.7 关键字的差异
2.4.8 访问修饰符的差异
2.4.9 语法的差异
2.4.10 C#与VB.NET实例对比
2.5 C#与C++的异同
2.5.1 托管环境的差异
2.5.2 C#使用.NET的对象
2.5.3 C#的语句
2.5.4 C#中取消的要素
2.5.5 操作符重载的差异
2.5.6 头文件的差异
2.5.7 程序书写的差异
2.5.8 被取消的指针
2.5.9 虚函数的差异
2.5.10 C#与C++实例对比
2.6 C#与Java的异同
2.6.1 数据类型的差异
2.6.2 类的差异
2.6.3 属性定义的差异
2.6.4 事件、指针与界面的差异
2.6.5 C#与Java实例对比
2.7 本章总结
2.8 实战练习
第2篇 C#程序设计基础
第3章 C#数据类型( 教学视频:37分钟)
3.1 初识C#的数据类型
3.2 存储实际数据的值类型
3.2.1 什么是值类型
3.2.2 整型
3.2.3 字符型
3.2.4 浮点型
3.2.5 小数型
3.2.6 大整数型
3.2.7 复数型
3.2.8 布尔型
3.2.9 C#值类型的数值类型
3.3 存储引用地址的引用类型
3.3.1 什么是引用类型
3.3.2 类类型
3.3.3 对象类型
3.3.4 字符串类型
3.3.5 接口类型
3.3.6 dynamic类型
3.4 数据类型是可以转换的
3.4.1 什么时候发生类型转换
3.4.2 显式转换
3.4.3 隐式转换
3.4.4 不同数值类型之间的转换
3.4.5 数值类型和字符串之间的转换
3.4.6 字符的ASCII码和Unicode码之间的转换
3.4.7 字符串和字符数组之间的转换
3.4.8 字符串和字节数组之间的转换
3.4.9 数值类型和字节数组之间的转换
3.4.10 不同类型之间的强制转换
3.5 C#的用户自定义数据类型
3.5.1 认识枚举类型
3.5.2 枚举编程示例
3.5.3 认识结构类型
3.5.4 结构编程示例
3.5.5 结构也支持方法
3.5.6 结构与类有什么不同
3.5.7 哪些地方应使用结构类型
3.6 本章总结
3.7 实战练习
第4章 变量与表达式( 教学视频:42分钟)
4.1 常量与变量
4.1.1 什么是常量
4.1.2 静态常量的特点
4.1.3 动态常量的特点
4.1.4 该用静态常量还是动态常量
4.1.5 什么是变量
4.1.6 认识变量的实质
4.1.7 变量有哪些种类
4.1.8 怎样给变量命名
4.2 连接的桥梁--运算符与表达式
4.2.1 C#的运算符分类
4.2.2 算术运算符
4.2.3 关系运算符
4.2.4 一般赋值运算符
4.2.5 复合赋值运算符
4.2.6 逻辑运算符
4.2.7 复习二进制知识
4.2.8 二进制的位运算符
4.2.9 有逻辑判断功能的三元运算符
4.2.10 自增和自减运算符
4.2.11 应该先进行什么运算
4.3 关键字
4.4 本章总结
4.5 实战练习
第5章 程序控制语言( 教学视频:46分钟)
5.1 C#有哪些种类的语句
5.2 选择语句让程序具有智能
5.2.1 选择语句的作用
5.2.2 认识if语句
5.2.3 单分支if语句
5.2.4 二分支if语句
5.2.5 多分支if语句
5.2.6 if语句多层嵌套
5.2.7 switch多分支选择语句
5.2.8 switch语句编程示例
5.3 用循环语句进行重复劳动
5.3.1 do循环语句
5.3.2 while循环语句
5.3.3 for循环语句
5.3.4 foreach循环语句
5.4 用跳转语句改变程序流程
5.4.1 用break语句跳出循环
5.4.2 用continue语句进入下次循环
5.4.3 用return语句返回
5.4.4 用goto语句跳到指定行
5.4.5 用goto语句跳出switch语句
5.4.6 用goto语句跳出一层嵌套循环
5.4.7 用throw语句抛出异常
5.5 用注释语句让代码意图更明了
5.5.1 普通注释语句
5.5.2 可生成帮助文档的注释语句
5.6 本章总结
5.7 实战练习
第6章 函数与方法( 教学视频:38分钟)
6.1 函数是C#的基本结构
6.1.1 函数与方法
6.1.2 无参和有参函数
6.2 函数的必备件:参数与返回值
6.2.1 参数有什么用
6.2.2 值参数的使用
6.2.3 引用参数的使用
6.2.4 输出参数的使用
6.2.5 数组参数的使用
6.2.6 命名参数和可选参数
6.2.7 利用返回值获取数值
6.2.8 利用返回值判断逻辑
6.3 变量的作用域
6.3.1 最常见的局部变量
6.3.2 需要惧用的全局变量
6.4 认识主入口函数Main()
6.5 C#中最常用的函数
6.6 本章总结
6.7 实战练习
第3篇 C#面向对象编程简介
第7章 类和对象( 教学视频:33分钟)
7.1 类和对象的关系
7.2 类的定义
7.2.1 创建一个类
7.2.2 类成员的访问类型
7.2.3 创建类的成员方法
7.3 创建对象
7.3.1 类的构造函数有什么用
7.3.2 成员变量的初始化
7.3.3 创建类的拷贝构造函数
7.3.4 用关键字this引用当前对象
7.4 静态成员的使用
7.4.1 什么是类的静态成员
7.4.2 静态方法怎样调用
7.4.3 静态构造函数的优势
7.4.4 使用私有构造函数保护静态成员
7.4.5 使用静态成员变量计录对象数量
7.5 对象的销毁
7.5.1 C#的析构函数
7.5.2 用Dispose()方法释放资源
7.5.3 用using声明作用范围
7.6 参数传递
7.6.1 通过引用传递返回多个值
7.6.2 用out类型参数返回值
7.7 重写方法和构造函数让类更宜用
7.8 用属性封装类的数据
7.8.1 类的属性定义
7.8.2 用get访问器返回属性值
7.8.3 用set访问器设置属性值
7.9 用Readonly类型变量为类设置不变的值
7.10 本章总结
7.11 实战练习
第8章 继承与多态( 教学视频:39分钟)
8.1 用继承对类进行扩展
8.1.1 面向对象程序中的继承
8.1.2 C#的继承机制
8.1.3 继承是怎样调用构造函数
8.1.4 用base关键字调用基类构造函数
8.1.5 使用protected访问类型
8.1.6 用sealed关键字终止继承
8.2 万类之根--Object类
8.3 C#类的多态特性
8.3.1 什么是多态
8.3.2 在基类与子类中定义同名方法
8.3.3 方法重写--virtual和override关键字的使用
8.3.4 用new关键字指出重写方法
8.4 对象类型转换--Up-casting和Down-casting
8.4.1 子类到基数的Up-casting类型转换
8.4.2 基数到子类的Down-casting类型转换
8.4.3 用is和as关键字做对象类型检查
8.5 装箱和拆箱
8.6 本章总结
8.7 实战练习
第9章 抽象类和接口( 教学视频:24分钟)
9.1 定义抽象类
9.2 定义统一规划的接口
9.2.1 定义接口
9.2.2 一个类实现多个接口
9.2.3 实现多接口同名方法
9.2.4 使用is和as操作符实现接口转换
9.2.5 接口间能继承吗
9.3 本章总结
9.4 实战练习
第10章 数组与集合( 教学视频:38分钟)
10.1 数组的数组--多维数组
10.1.1 认识多维数组
10.1.2 怎样实例化多维数组
10.1.3 什么是变长数组
10.2 用foreach循环进行数组的遍历
10.3 比数组灵活好用的集合
10.3.1 用ArrayList集合保存不同类型数据
10.3.2 用Stack集合处理栈
10.3.3 用Queue集合处理队列
10.4 键-值对应形式的字典类型集合
10.4.1 Hashtable类存储方式
10.4.2 创建Hashtable集合的方法
10.4.3 用Add方法向Hashtable集合中添加元素
10.4.4 从Hashtable集合中获取元素的方法
10.4.5 用Remove方法移除Hashtable集合中的元素
10.4.6 获取Hashtable集合的元素与键值
10.4.7 在Hashtable集合中检索元素
10.4.8 SortedList类与Hashtable类的区别
10.4.9 SortedList类常用方法
10.5 本章总结
10.6 实战练习
第11章 代理和事件( 教学视频:31分钟)
11.1 代理
11.1.1 什么是代理
11.1.2 代理所指向方法的类型和标识
11.1.3 代理引用的声明和使用
11.1.4 .NET Framework中的代理
11.1.5 代理用作方法的参数
11.1.6 了解多重代理
11.1.7 多重代理的实现方法
11.1.8 怎样移除多重代理指向的方法
11.2 事件和事件处理
11.2.1 C#的事件处理
11.2.2 事件举例--时钟事件
11.2.3 多重事件的处理
11.2.4 利用事件传递数据
11.3 本章总结
11.4 实战练习
第4篇 Windows程序设计
第12章 Windows应用程序概述( 教学视频:29分钟)
12.1 Windows应用程序
12.1.1 什么是Windows应用程序
12.1.2 创建Windows应用程序
12.1.3 程序入口文件Program.cs
12.1.4 窗口程序文件Form1.cs
12.1.5 窗口设计文件Form1.Designer.cs
12.2 Windows应用程序窗体
12.2.1 C#的Form类
12.2.2 Form类常用属性
12.2.3 Form类常用事件
12.3 为窗体添加控件
12.3.1 Windows窗体控件
12.3.2 控件常见属性
12.3.3 控件常用公共事件
12.3.4 向窗体添加控件的方法
12.3.5 调整控件的布局
12.4 Windows应用程序编程示例
12.4.1 创建一个窗体
12.4.2 用属性控制窗体外观
12.4.3 向窗体添加控件
12.4.4 添加控件事件处理程序
12.4.5 查看窗体运行效果
12.5 本章总结
12.6 实战练习
第13章 Visual Studio 2010控件介绍( 教学视频:39分钟)
13.1 接收输入的文本编辑控件
13.1.1 TextBox控件的作用
13.1.2 怎样获取或设置TextBox控件的内容
13.1.3 TextBox控件也可输入多行文本
13.1.4 选择TextBox控件中的文本
13.1.5 设置Textbox控件为密码框
13.1.6 检查TextBox控件的输入值
13.1.7 支持格式化的RichTextBox控件
13.1.8 选择RichTextBox控件中的文本
13.1.9 在RichTextBox控件中撤销上次操作
13.1.10 拖放RichTextBox控件中的文本
13.1.11 设置RichTextBox控件中的文本格式
13.1.12 设置RichTextBox控件的文本缩进
13.1.13 在RichTextBox控件中添加超链接
13.1.14 RichTextBox控件的文件操作
13.2 不能编辑的文本显示控件
13.2.1 用Label控件显示文本
13.2.2 用LinkLabel控件显示超链接文本
13.2.3 保存超链接的LinkCollection集合
13.2.4 LinkLabel控件编程示例
13.3 包容其他控件的容器控件
13.3.1 用Panel控件细分窗体
13.3.2 有标题的容器控件GroupBox
13.3.3 多页容器控件TabControl
13.3.4 TabControl控件的几种常见外观
13.3.5 TabControl控件中标签页的选择
13.3.6 添加TabControl控件中的标签页
13.3.7 网格形式容器控件TableLayoutPanel
13.3.8 设置TableLayoutPanel控件的外观
13.3.9 添加控件到TableLayoutPanel控件
13.4 值设置控件
13.4.1 用CheckBox控件选择打开或关闭状态
13.4.2 用RadioButton控件进行多选一操作
13.5 本章总结
13.6 实战练习
第14章 列表选择控件介绍( 教学视频:43分钟)
14.1 ListBox控件
14.1.1 用ListBox显示列表
14.1.2 用ListBox添加列表项
14.1.3 设置ListBox的行为
14.1.4 让ListBox支持多选
14.1.5 设置ListBox的外观
14.1.6 对ListBox列表进行排序
14.1.7 控制ListBox列表项的刷新
14.1.8 查找ListBox中的列表
14.1.9 ListBox控件的常用方法
14.2 ComboBox控件
14.2.1 认识ComboBox控件
14.2.2 设置ComboBox下拉样式
14.2.3 设置ComboBox的自动补齐
14.2.4 ComboBox自动补齐的数据源
14.2.5 设置ComboBox自动补齐方式
14.2.6 ComboBox的常见事件
14.2.7 修改ComboBox的子项
14.2.8 ComboBox的子项绘制
14.3 CheckedListBox控件
14.3.1 带复选标记的列表控件CheckedListBox
14.3.2 CheckedListBox控件编程示例
14.4 ListView控件
14.4.1 带图标的列表控件ListView
14.4.2 ListView的5种视图
14.4.3 使用任务窗体设置ListView
14.4.4 用ImageList给ListView提供图标
14.4.5 设置ListView的子项
14.4.6 设置Details视图模式的数据
14.4.7 给ListView添加分组设置
14.4.8 让ListView支持拖曳操作
14.4.9 在ListView中进行搜索
14.5 TreeView控件
14.5.1 用TreeView控件显示分层数据
14.5.2 添加节点到TreeView
14.5.3 在节点前显示复选框
14.5.4 选中节点的常用约定
14.5.5 用ImageList为TreeView提供图标
14.5.6 展开与折叠TreeView的节点
14.5.7 允许编辑TreeView的节点文本
14.5.8 让TreeView支持拖曳操作
14.6 本章总结
14.7 实战练习
第15章 数据显示控件( 教学视频:27分钟)
15.1 DataGridView控件以表格显示数据
15.1.1 DataGridView有哪些功能
15.1.2 设置对表格数据的操作
15.1.3 在窗体中如何放置DataGridView
15.1.4 为DataGridView提供数据
15.1.5 向DataGridView添加列
15.1.6 冻结DataGridView中的列
15.1.7 编辑DataGridView中的列
15.2 为DataGridView服务的类
15.2.1 DataGridViewElement对象模型
15.2.2 单元格对象模型DataGridViewCell
15.2.3 数据列对象模型DataGridViewColumn
15.2.4 数据行对象模型DataGridViewRow
15.3 设置DataGridView的格式
15.3.1 设置单元格边框样式
15.3.2 设置DataGridView控件边框样式
15.3.3 设置单元格边框样式
15.3.4 设置左上角单元格边框样式
15.3.5 设置单元格样式
15.3.6 单元格样式设置的优先级
15.3.7 设置DataGridView外观
15.3.8 用属性设置可对表格的操作
15.3.9 DataGridView其他常用属性
15.3.10 用AutoResizeColumn方法调列宽
15.3.11 用AutoResizeColumns方法调整所有列宽
15.3.12 用AutoResizeColumnHeadersHeight方法调整列标题高度
15.3.13 用AutoResizeRowHeadersWidth方法调整行标题宽度
15.3.14 DataGridView其他常用方法
15.4 DataGridView中显示数据的相关类
15.4.1 设置数据排序模式
15.4.2 用DataGridViewTextBoxColumn显示文本数据列
15.4.3 用DataGridViewCheckBoxColumn显示二元状态数据列
15.4.4 用DataGridViewImageColumn显示图像数据列
15.4.5 用DataGridViewButtonColumn显示按钮数据列
15.4.6 用DataGridViewComboBoxColumn显示下拉列表数据列
15.4.7 用DataGridViewLinkColumn显示超链接数据列
15.5 本章总结
15.6 实战练习
第16章 通用对话框( 教学视频:40分钟)
16.1 消息对话框
16.1.1 用消息对话框显示信息
16.1.2 该怎样显示消息对话框
16.1.3 消息对话框能显示哪些按键
16.1.4 用户按了哪个按钮
16.1.5 消息对话框可显示哪些图标
16.1.6 消息对话框编程示例
16.2 文件对话框
16.2.1 认识OpenFileDialog组件
16.2.2 显示"打开文件"对话框
16.2.3 打开快捷方式引用的文件
16.2.4 同时选择多个文件
16.2.5 设置可打开的文件类型
16.2.6 设置"打开"文件对话框的外观
16.2.7 检查指定的文件是否存在
16.2.8 使用SaveFileDialog组件
16.2.9 SaveFileDialog组件编程示例
16.2.10 另存文件时的覆盖与新建
16.2.11 使用FolderBrowserDialog组件
16.2.12 FolderBrowserDialog组件编程示例
16.3 字体选择对话框
16.3.1 使用FontDialog组件
16.3.2 FontDialog组件编程示例
16.4 颜色选择对话框
16.4.1 使用ColorDialog组件
16.4.2 ColorDialog组件编程示例
16.5 打印相关对话框
16.5.1 使用PrintDocument组件
16.5.2 PrintDocument组件编程示例
16.5.3 使用PageSetupDialog组件
16.5.4 PageSetupDialog组件编程示例
16.5.5 使用PrintPreviewDialog组件
16.5.6 PrintPreviewDialog组件编程示例
16.5.7 使用PrintDialog组件
16.6 本章总结
16.7 实战练习
第17章 其他常用控件( 教学视频:29分钟)
17.1 计时器组件
17.1.1 Timer组件有什么用
17.1.2 用Timer控制程序定时执行
17.1.3 用Timer制作秒表
17.1.4 启动和重置Timer
17.2 图形控件
17.2.1 用PictureBox控件显示图片
17.2.2 PictureBox显示图片的5种方式
17.2.3 更新PictureBox中的图片
17.2.4 用ImageList存储图片
17.2.5 哪些控件可用ImageList中的图片
17.3 菜单控件
17.3.1 用MenuStrip创建菜单
17.3.2 有哪些方法添加菜单项
17.3.3 为菜单项编写代码完成相应功能
17.3.4 用ToolStrip创建工具栏
17.3.5 工具栏中可使用的按钮类型
17.3.6 设置工具栏的外观和行为
17.3.7 设置ToolStripComboBox的自动完成功能
17.3.8 设置ToolStrip的外观
17.3.9 用ContextMenuStrip创建快捷菜单
17.4 本章总结
17.5 实战练习
第18章 Windows应用程序的部署( 教学视频:22分钟)
18.1 你了解这两种部署方案吗
18.1.1 什么是ClickOnce部署方案
18.1.2 什么是Windows Installer部署方案
18.2 ClickOnce部署
18.2.1 创建一个部署用的示例程序
18.2.2 启动"发布向导"的3种方法
18.2.3 设置发布应用程序的3个URL地址
18.2.4 为应用程序设置名称
18.2.5 设置需发布的非代码文件
18.2.6 为应用程序添加下载组
18.2.7 设置应用程序的系统必备组件
18.2.8 设置安装组件的权限
18.2.9 应用程序的3种发布方式
18.2.10 将应用程序发布到网站
18.2.11 将应用程序发布到共享文件夹
18.2.12 将应用程序发布到CD-ROM
18.2.13 发布应用程序
18.2.14 安装发布的应用程序
18.3 Windows Installer部署
18.3.1 创建一个部署用的示例程序
18.3.2 创建部署项目
18.3.3 设置文件安装到目标机器的位置
18.3.4 添加项目输出组
18.3.5 设置安装后的桌面快捷方式
18.3.6 更改安装应用程序的部署特性
18.3.7 将应用程序信息添加到注册表
18.3.8 安装过程中可使用的对话框
18.3.9 "欢迎使用"用户界面对话框
18.3.10 "选择安装文件夹"用户界面对话框
18.3.11 "确认安装"用户界面对话框
18.3.12 "进度"用户界面对话框
18.3.13 "安装完成"用户界面对话框
18.3.14 安装过程中的自定义默认对话框
18.3.15 "单选按钮"用户界面对话框
18.3.16 "复选框"用户界面对话框
18.3.17 "文本框"用户界面对话框
18.3.18 "客户信息"用户界面对话框
18.3.19 "许可协议"用户界面对话框
18.3.20 "自述文件"用户界面对话框
18.3.21 "注册用户"用户界面对话框
18.3.22 生成应用程序安装文件
18.4 比较两种部署方案
18.5 本章总结
18.6 实战练习
第5篇 C#高级编程技术和工具
第19章 异常处理( 教学视频:28分钟)
19.1 程序运行中的
19.2 C#和.NET中的异常处理
19.2.1 使用try…catch…finally结构处理异常
19.2.2 捕获程序中可能产生的异常
19.2.3 用finally语段释放资源
19.3 多异常的捕获
19.3.1 什么多异常
19.3.2 异常的继承关系
19.3.3 捕获所有异常的方法
19.4 定义用户异常的方法
19.5 本章总结
19.6 实战练习
第20章 文件系统与流( 教学视频:45分钟)
20.1 软件系统环境相关信息
20.1.1 用System.Environment类获得应用程序运行环境的信息
20.1.2 System.Environment类的应用举例
20.1.3 用Enviroment.GetFolderPath()获得各种Windows标准文件夹的路径
20.2 对文件进行操作
20.2.1 C#对文件进行操作的类
20.2.2 用System.IO.File类的静态方法操作文件
20.2.3 用System.IO.FileInfo类的方法操作文件
20.3 对文件夹进行操作
20.3.1 C#对文件夹操作的类
20.3.2 用System.IO.Directory类的静态方法操作文件夹
20.3.3 用System.IO.DirectoryInfo类的方法操作文件夹
20.4 流文件概述
20.4.1 了解流
20.4.2 Stream类的常用方法和属性
20.5 使用流对文件进行读写
20.5.1 使用System.IO.FileStream类进行文件读写
20.5.2 用System.IO.FileStream类打开文本文件
20.5.3 用BinaryReader和BinaryWriter类读写原始文件
20.5.4 用StreamReader和StreamWriter类读写文本文件
20.6 序列化和反序列化
20.6.1 什么是对象序列化
20.6.2 用格式器描述被序列化对象
20.6.3 对象序列化使用示例一
20.6.4 对象序列化使用示例二
20.6.5 对象序列化使用示例三
20.7 异步读取数据
20.7.1 什么是异步读取数据
20.7.2 异步读取数据使用示例
20.8 本章总结
20.9 实战练习
第21章 可扩展标记语言( 教学视频:30分钟)
21.1 认识XML
21.1.1 文档对象模型的功能
21.1.2 用XPath查询XML文档
21.1.3 了解可扩展样式表语言XSL
21.1.4 用XML Schemas设置数据元素和属性
21.1.5 .NET中处理XML的相关类
21.2 使用XML DOM进行编程
21.2.1 创建一个空的XML文档
21.2.2 向XML文档添加元素
21.2.3 更新XML文档中的元素
21.2.4 删除XML文档中的元素
21.2.5 加载和保存XML文档
21.3 用DataSet保存XML数据
21.3.1 不使用Schema文件加载XML文档
21.3.2 使用Schema文件加载XML文档
21.3.3 遍历XML文档
21.4 用XPath查找节点
21.4.1 XPath简介
21.4.2 XPath查询示例代码
21.4.3 XPath示例代码讲解
21.5 使用XSL将XML文档转化为另一种格式
21.5.1 XSL转换示例一
21.5.2 XSL转换示例讲解
21.5.3 XSL转换示例二
21.6 本章总结
21.7 实战练习
第22章 多线程编程( 教学视频:27分钟)
22.1 C#线程的主要特征
22.1.1 输出不同内容的两个线程
22.1.2 调用同一方法的两个线程
22.1.3 静态变量在多线程多线程中的应用
22.1.4 线程调度
22.1.5 线程和进程的关系
22.1.6 何时需要使用多线程
22.1.7 何时不要使用多线程
22.2 创建并开始一个线程
22.2.1 用Thread类创建线程
22.2.2 向ThreadStart传递参数
22.2.3 给线程命名
22.2.4 C#的后台线程
22.2.5 设置线程优先级
22.2.6 线程中的异常处理
22.3 线程同步
22.3.1 线程同步和协同的可用性工具
22.3.2 阻止现在的线程
22.3.3 Joining一个线程
22.4 线程安全
22.4.1 了解线程安全
22.4.2 选择一个同步对象
22.4.3 使用嵌套锁
22.4.4 什么时候上锁合适
22.4.5 使用锁的效率考虑
22.4.6 线程安全与.NET Framework
22.5 用中断和取消提前释放线程
22.5.1 中断线程
22.5.2 取消线程
22.6 线程有哪些状态
22.7 等待处理
22.7.1 了解自动设置方法
22.7.2 自动设置方法示例一
22.7.3 自动设置方法示例二
22.7.4 自动设置方法示例三
22.7.5 ManualResetEvent类控制多个线程
22.7.6 跨线程的互斥量
22.7.7 使用信号量
22.7.8 使用WaitAny、WaitAll和SignalAndWait方法
22.8 同步性作用域
22.9 套间线程
22.9.1 什么是套间线程
22.9.2 使用套间模型
22.9.3 用Control.Invoke方法进行跨线程调用
22.10 管理工作线程的BackgroundWorker组件
22.10.1 BackgroundWorker的特征
22.10.2 BackgroundWorker组件编程示例一
22.10.3 BackgroundWorker组件编程示例二
22.10.4 BackgroundWorker组件编程示例三
22.11 用于读/写操作的锁
22.11.1 了解读/写操作的锁
22.11.2 管理资源访问锁定状态类ReaderWriterLockSlim
22.11.3 读/写操作锁的进一步说明
22.12 用线程池管理线程
22.13 用异步代理得到线程返回的数据
22.14 .NET提供的计时器
22.15 各线程数据的局部存储
22.16 本章总结
22.17 实战练习
第6篇 Web数据库开发
第23章 数据库基础知识( 教学视频:15分钟)
23.1 了解SQL Server
23.2 操作MSSQL数据表
23.2.1 在数据库中创建、修改和删除表
23.2.2 向表中插入、修改、删除和检索数据
23.2.3 设置表的主键约束
23.2.4 设置表的外键约束
23.2.5 设置表的唯一性约束
23.2.6 设置表的CHECK约束
23.2.7 设置列的默认约束
23.3 数据库的存储过程
23.3.1 创建存储过程的SQL语句
23.3.2 执行和删除存储过程的SQL语句
23.3.3 用SQL Server Management Studio管理存储过程
23.4 数据库中的触发器
23.4.1 创建和使用触发器的SQL语句
23.4.2 用SQL Server Management Studio管理触发器
23.5 本章总结
23.6 实战练习
第24章 ADO.NET数据库编程( 教学视频:32分钟)
24.1 ADO.NET介绍
24.1.1 ADO.NET是神马
24.1.2 ADO.NET相关的类和接口
24.2 DataSet和DataTable类
24.2.1 表示内存数据表的DataTable类
24.2.2 创建DataTable的方法
24.2.3 遍历DataTable中保存的记录
24.2.4 接受和回滚DataTable的更改
24.2.5 表示内存数据集合的DataSet类
24.2.6 使用DataSet类的步骤
24.2.7 接受和回滚DataSet的更改
24.3 用ADO.NET访问SQL Server数据库
24.3.1 ADO.NET访问数据库的步骤
24.3.2 用SqlConnection连接数据库
24.3.3 用SqlCommand执行SQL命令
24.3.4 用SqlDataReader读取数据库记录
24.3.5 用SqlDataAdapter获取数据库记录
24.3.6 用SqlDataAdapter更改数据库记录
24.4 用ADO.NET访问Access数据库
24.4.1 System.Data.OleDb命名空间提供的功能
24.4.2 访问Access数据库的各种类
24.5 使用数据库访问控件
24.5.1 用DataGridView控件管理数据库中的记录
24.5.2 用BindingNavigator控件导航记录
24.6 本章总结
24.7 实战练习
第25章 ASP.NET技术入门( 教学视频:24分钟)
25.1 初识ASP.NET
25.1.1 了解ASP.NET
25.1.2 System.Web常用的类
25.1.3 创建一个Web应用程序
25.2 用ASP.NET控件创建网页
25.2.1 用TextBox控件显示文本框
25.2.2 用Button控件显示按钮
25.2.3 用HyperLink控件显示超链接
25.2.4 用DropDownList、ListBox等显示下拉列表、列表
25.2.5 用Menu控件显示导航菜单
25.3 留言板网站实例
25.3.1 数据库和页面设计
25.3.2 设计欢迎页面
25.3.3 设计添加留言页面
25.3.4 设计查看留言页面
25.3.5 发布留言板网站
25.4 本章总结
25.5 实战练习
第26章 服务器端控件详解( 教学视频:24分钟)
26.1 认识服务器控件
26.1.1 为什么使用服务器控件
26.1.2 服务器控件与HTML控件的区别
26.2 数据操作控件
26.2.1 SqlDataSource的作用
26.2.2 用SqlDataSource控件连接到数据库
26.2.3 用GridView控件显示数据
26.2.4 用DetailsView控件显示指定记录
26.3 用验证控件检查用户输入
26.3.1 必填内容的验证控件RequiredFieldValidator
26.3.2 比较两个值的验证控件CompareValidator
26.3.3 检查指定范围的验证控件RangeValidator
26.3.4 正则表达式验证控件RegularExpressionValidator
26.3.5 自定义验证控件CustomValidator
26.3.6 验证错误信息汇总控件ValidationSummary
26.4 创建ASP.NET用户控件
26.5 本章总结
26.6 实战练习
第7篇 .NET 4.0的增强功能
第27章 WPF框架( 教学视频:19分钟)
27.1 WPF基础
27.1.1 了解WPF基础架构
27.1.2 与WPF相关的技术
27.2 创建WPF应用程序
27.2.1 创建WPF的过程
27.2.2 完整的WPF应用程序实例
27.2.3 创建WPF浏览器应用程序
27.3 简单WPF实例
27.3.1 用ListBox控件实现列表显示
27.3.2 用Hyperlink控件实现多页面切换
27.3.3 用DockPanel沿容器边缘定位
27.3.4 使用StackPanel叠放包含的控件
27.3.5 使用数据源集合实现多数据绑定
27.3.6 属性变更引起依赖数据绑定变化
27.3.7 使用Brush填充图形
27.3.8 使用Storyboard实现动画
27.3.9 使用Storyboard实现控件的翻转
27.4 本章总结
27.5 实战练习
第28章 WCF框架( 教学视频:22分钟)
28.1 WCF基础
28.1.1 了解WCF架构
28.1.2 了解WCF模型
28.2 WCF服务和客户端实例
28.2.1 创建WCF服务承载项目
28.2.2 定义WCF服务协定
28.2.3 定义实现WCF服务接口的类
28.2.4 运行WCF服务的相关代码
28.2.5 创建WCF客户端程序
28.2.6 配置WCF客户端的配置
28.2.7 WCF客户端对服务端的调用
28.3 主要的WCF技术
28.3.1 使用会话在客户端与服务间交互
28.3.2 WCF事务管理模型
28.4 本章总结
28.5 实战练习
第29章 Windows WF框架( 教学视频:40分钟)
29.1 C#的工作流开发框架
29.1.1 了解WF框架
29.1.2 WF框架中的重要元素
29.2 开发WF工作流应用程序
29.2.1 第一个WF应用程序
29.2.2 WF工作流的基本元素:WF活动
29.2.3 自定义的代码活动
29.2.4 WF提供的服务
29.3 WF创建工作流实例
29.3.1 在工作流中使用集合
29.3.2 猜价格游戏
29.4 本章总结
29.5 实战练习
第30章 语言集成查询LINQ( 教学视频:25分钟)
30.1 LINQ概述
30.1.1 了解LINQ查询
30.1.2 简单LINQ查询实例
30.2 LINQ语言基础
30.2.1 最重要的LINQ查询表达式
30.2.2 LINQ查询语法和方法语法实例
30.2.3 用LINQ合并数据
30.2.4 用LINQ转换数据
30.3 LINQ查询数据源
30.3.1 用LINQ To SQL查询数据库中的数据
30.3.2 用LINQ To DataSet查询缓存在DataSet中的数据
30.3.3 用LINQ To XML查询XML中的数据
30.3.4 用LINQ To Objects查询可枚举的集合
30.4 本章总结
30.5 实战练习
*第8篇 综 合 案 例
第31章 用MVC开发音乐商店网站
31.1 开发站点前的配置
31.1.1 预览音乐商店网站
31.1.2 系统架构总览
31.1.3 系统数据库设计
31.1.4 系统文件目录结构
31.1.5 创建母版页和CSS文件
31.1.6 使用Entity Framework创建实体模型
31.2 音乐专辑列表实现
31.2.1 首页控制器实现
31.2.2 创建首页视图
31.2.3 浏览音乐流派
31.2.4 浏览音乐明细信息
31.3 管理音乐列表
31.3.1 基于角色的身份验证
31.3.2 编辑音乐信息
31.3.3 基于模型的数据验证
31.4 实现和管理购物车
31.4.1 添加到购物车功能
31.4.2 从购物车中移除功能
31.4.3 提交购物车
31.5 关键技术讲解
31.6 本章总结
31.7 实战练习
第32章 电子购物商城
32.1 系统总体设计
32.1.1 系统功能描述
32.1.2 WebShopping应用程序组成
32.1.3 保存数据需要哪些表
32.1.4 设计数据库表之间关系设计
32.2 系统通用类和模块设计
32.2.1 编写系统常量和枚举代码
32.2.2 编写系统常用操作的代码
32.2.3 设计显示标题的用户控件
32.2.4 设计分页用户控件
32.2.5 创建级联样式表web.css文件
32.2.6 设计主题文件
32.2.7 在Web.config中设置数据库连接字符串
32.2.8 创建数据库对象模型
32.3 电子购物商城首页
32.3.1 设计首页界面
32.3.2 设计全站搜索的用户控件
32.3.3 设计登录网站的用户控件
32.3.4 设计显示新闻的用户控件
32.3.5 设计显示公告的用户控件
32.4 用户注册和登录
32.4.1 用户必须先注册
32.4.2 显示提交的用户信息
32.4.3 处理用户登录
32.4.4 退出系统时要做的操作
32.5 浏览商品、购物车和订单
32.5.1 查看商品信息
32.5.2 对商品进行评论
32.5.3 购物车功能
32.5.4 将商品加入购物车
32.5.5 查看购物车内容
32.5.6 生成订单编号的代码
32.5.7 生成购物订单
32.5.8 发布留言
32.6 商 品 搜 索
32.6.1 按商品名称搜索
32.6.2 更复杂的高级搜索
32.7 用户信息中心
32.7.1 管理用户的首页
32.7.2 根据角色动态加载操作菜单
32.7.3 查看个人信息
32.7.4 修改个人信息
32.7.5 修改密码
32.7.6 管理我的订单
32.8 商品及其分类管理
32.8.1 查看已有商品分类列表
32.8.2 动态加载商品分类层次结构的代码
32.8.3 添加新的商品分类
32.8.4 修改已有商品分类
32.8.5 查看已有商品列表
32.8.6 动态加载商品分类层次树的代码
32.8.7 添加新的商品
32.8.8 修改已有商品
32.8.9 商品图片管理
32.8.10 显示商品图片
32.8.11 商品评论列表
32.9 系统信息中心
32.9.1 查看已有新闻列表
32.9.2 发布新的新闻
32.9.3 修改已发布新闻
32.9.4 发布公告
32.9.5 管理用户留言
32.10 系统用户和角色管理
32.10.1 查看已有角色列表
32.10.2 添加新的角色
32.10.3 修改已有角色
32.10.4 管理注册用户
32.10.5 添加管理员
32.11 本章总结
32.12 实战练习
说明:因篇幅所限,第8篇内容以PDF电子文档的格式收录于本书的配书光盘中。该项目案例涉及的源程序也收录于配书光盘中。
第1章 Visual Studio 2010介绍( 教学视频:31分钟)
1.1 .NET概述
1.1.1 .NET的前世今生
1.1.2 什么是微软中间语言
1.1.3 背后默默付出的垃圾收集器
1.2 .NET Framework 概述
1.2.1 .NET Framework包含什么
1.2.2 .NET平台的核心:CLR
1.2.3 基类库是神马
1.2.4 公共语言运行规范
1.3 Visual Studio 2010有哪些新增功能
1.4 Visual Studio 2010开发环境介绍
1.4.1 安装Visual Studio
1.4.2 Visual Studio 2010提供哪些项目模板
1.4.3 Visual Studio 2010提供哪些网站模板
1.4.4 Visual Studio 2010提供哪些文件模板
1.4.5 与Visual Studio 2010的第一次相会
1.4.6 必须熟悉的开发工具栏和菜单栏
1.4.7 用对象浏览器查看对象信息
1.4.8 可视化利器:工具箱和属性窗口
1.5 定制环境
1.5.1 让字体和颜色更适合自己
1.5.2 在项目和解决方案中保存文件
1.5.3 使用任务列表和注释管理代码
1.5.4 在命令窗口中执行命令
1.5.5 代码显示行号与代码折叠
1.5.6 管理Visual Studio 2010中的子窗口
1.5.7 调试与生成程序
1.6 学会使用MSDN帮助系统
1.7 用Visual Studio 2010编写第一个程序
1.8 本章总结
1.9 实战练习
第2章 C#简介( 教学视频:16分钟)
2.1 C#与.NET的关系
2.2 C#有哪些特点
2.2.1 简单性
2.2.2 类型统一性
2.2.3 面向对象性
2.2.4 类型安全性
2.2.5 兼容性
2.3 C#与其他语言对比
2.4 C#与VB.NET的异同
2.4.1 代码表现形式的差异
2.4.2 数据类型和变量使用的差异
2.4.3 类、数据类型、函数以及接口
2.4.4 操作符与表达式的差异
2.4.5 控制流程语句的差异
2.4.6 错误处理的差异
2.4.7 关键字的差异
2.4.8 访问修饰符的差异
2.4.9 语法的差异
2.4.10 C#与VB.NET实例对比
2.5 C#与C++的异同
2.5.1 托管环境的差异
2.5.2 C#使用.NET的对象
2.5.3 C#的语句
2.5.4 C#中取消的要素
2.5.5 操作符重载的差异
2.5.6 头文件的差异
2.5.7 程序书写的差异
2.5.8 被取消的指针
2.5.9 虚函数的差异
2.5.10 C#与C++实例对比
2.6 C#与Java的异同
2.6.1 数据类型的差异
2.6.2 类的差异
2.6.3 属性定义的差异
2.6.4 事件、指针与界面的差异
2.6.5 C#与Java实例对比
2.7 本章总结
2.8 实战练习
第2篇 C#程序设计基础
第3章 C#数据类型( 教学视频:37分钟)
3.1 初识C#的数据类型
3.2 存储实际数据的值类型
3.2.1 什么是值类型
3.2.2 整型
3.2.3 字符型
3.2.4 浮点型
3.2.5 小数型
3.2.6 大整数型
3.2.7 复数型
3.2.8 布尔型
3.2.9 C#值类型的数值类型
3.3 存储引用地址的引用类型
3.3.1 什么是引用类型
3.3.2 类类型
3.3.3 对象类型
3.3.4 字符串类型
3.3.5 接口类型
3.3.6 dynamic类型
3.4 数据类型是可以转换的
3.4.1 什么时候发生类型转换
3.4.2 显式转换
3.4.3 隐式转换
3.4.4 不同数值类型之间的转换
3.4.5 数值类型和字符串之间的转换
3.4.6 字符的ASCII码和Unicode码之间的转换
3.4.7 字符串和字符数组之间的转换
3.4.8 字符串和字节数组之间的转换
3.4.9 数值类型和字节数组之间的转换
3.4.10 不同类型之间的强制转换
3.5 C#的用户自定义数据类型
3.5.1 认识枚举类型
3.5.2 枚举编程示例
3.5.3 认识结构类型
3.5.4 结构编程示例
3.5.5 结构也支持方法
3.5.6 结构与类有什么不同
3.5.7 哪些地方应使用结构类型
3.6 本章总结
3.7 实战练习
第4章 变量与表达式( 教学视频:42分钟)
4.1 常量与变量
4.1.1 什么是常量
4.1.2 静态常量的特点
4.1.3 动态常量的特点
4.1.4 该用静态常量还是动态常量
4.1.5 什么是变量
4.1.6 认识变量的实质
4.1.7 变量有哪些种类
4.1.8 怎样给变量命名
4.2 连接的桥梁--运算符与表达式
4.2.1 C#的运算符分类
4.2.2 算术运算符
4.2.3 关系运算符
4.2.4 一般赋值运算符
4.2.5 复合赋值运算符
4.2.6 逻辑运算符
4.2.7 复习二进制知识
4.2.8 二进制的位运算符
4.2.9 有逻辑判断功能的三元运算符
4.2.10 自增和自减运算符
4.2.11 应该先进行什么运算
4.3 关键字
4.4 本章总结
4.5 实战练习
第5章 程序控制语言( 教学视频:46分钟)
5.1 C#有哪些种类的语句
5.2 选择语句让程序具有智能
5.2.1 选择语句的作用
5.2.2 认识if语句
5.2.3 单分支if语句
5.2.4 二分支if语句
5.2.5 多分支if语句
5.2.6 if语句多层嵌套
5.2.7 switch多分支选择语句
5.2.8 switch语句编程示例
5.3 用循环语句进行重复劳动
5.3.1 do循环语句
5.3.2 while循环语句
5.3.3 for循环语句
5.3.4 foreach循环语句
5.4 用跳转语句改变程序流程
5.4.1 用break语句跳出循环
5.4.2 用continue语句进入下次循环
5.4.3 用return语句返回
5.4.4 用goto语句跳到指定行
5.4.5 用goto语句跳出switch语句
5.4.6 用goto语句跳出一层嵌套循环
5.4.7 用throw语句抛出异常
5.5 用注释语句让代码意图更明了
5.5.1 普通注释语句
5.5.2 可生成帮助文档的注释语句
5.6 本章总结
5.7 实战练习
第6章 函数与方法( 教学视频:38分钟)
6.1 函数是C#的基本结构
6.1.1 函数与方法
6.1.2 无参和有参函数
6.2 函数的必备件:参数与返回值
6.2.1 参数有什么用
6.2.2 值参数的使用
6.2.3 引用参数的使用
6.2.4 输出参数的使用
6.2.5 数组参数的使用
6.2.6 命名参数和可选参数
6.2.7 利用返回值获取数值
6.2.8 利用返回值判断逻辑
6.3 变量的作用域
6.3.1 最常见的局部变量
6.3.2 需要惧用的全局变量
6.4 认识主入口函数Main()
6.5 C#中最常用的函数
6.6 本章总结
6.7 实战练习
第3篇 C#面向对象编程简介
第7章 类和对象( 教学视频:33分钟)
7.1 类和对象的关系
7.2 类的定义
7.2.1 创建一个类
7.2.2 类成员的访问类型
7.2.3 创建类的成员方法
7.3 创建对象
7.3.1 类的构造函数有什么用
7.3.2 成员变量的初始化
7.3.3 创建类的拷贝构造函数
7.3.4 用关键字this引用当前对象
7.4 静态成员的使用
7.4.1 什么是类的静态成员
7.4.2 静态方法怎样调用
7.4.3 静态构造函数的优势
7.4.4 使用私有构造函数保护静态成员
7.4.5 使用静态成员变量计录对象数量
7.5 对象的销毁
7.5.1 C#的析构函数
7.5.2 用Dispose()方法释放资源
7.5.3 用using声明作用范围
7.6 参数传递
7.6.1 通过引用传递返回多个值
7.6.2 用out类型参数返回值
7.7 重写方法和构造函数让类更宜用
7.8 用属性封装类的数据
7.8.1 类的属性定义
7.8.2 用get访问器返回属性值
7.8.3 用set访问器设置属性值
7.9 用Readonly类型变量为类设置不变的值
7.10 本章总结
7.11 实战练习
第8章 继承与多态( 教学视频:39分钟)
8.1 用继承对类进行扩展
8.1.1 面向对象程序中的继承
8.1.2 C#的继承机制
8.1.3 继承是怎样调用构造函数
8.1.4 用base关键字调用基类构造函数
8.1.5 使用protected访问类型
8.1.6 用sealed关键字终止继承
8.2 万类之根--Object类
8.3 C#类的多态特性
8.3.1 什么是多态
8.3.2 在基类与子类中定义同名方法
8.3.3 方法重写--virtual和override关键字的使用
8.3.4 用new关键字指出重写方法
8.4 对象类型转换--Up-casting和Down-casting
8.4.1 子类到基数的Up-casting类型转换
8.4.2 基数到子类的Down-casting类型转换
8.4.3 用is和as关键字做对象类型检查
8.5 装箱和拆箱
8.6 本章总结
8.7 实战练习
第9章 抽象类和接口( 教学视频:24分钟)
9.1 定义抽象类
9.2 定义统一规划的接口
9.2.1 定义接口
9.2.2 一个类实现多个接口
9.2.3 实现多接口同名方法
9.2.4 使用is和as操作符实现接口转换
9.2.5 接口间能继承吗
9.3 本章总结
9.4 实战练习
第10章 数组与集合( 教学视频:38分钟)
10.1 数组的数组--多维数组
10.1.1 认识多维数组
10.1.2 怎样实例化多维数组
10.1.3 什么是变长数组
10.2 用foreach循环进行数组的遍历
10.3 比数组灵活好用的集合
10.3.1 用ArrayList集合保存不同类型数据
10.3.2 用Stack集合处理栈
10.3.3 用Queue集合处理队列
10.4 键-值对应形式的字典类型集合
10.4.1 Hashtable类存储方式
10.4.2 创建Hashtable集合的方法
10.4.3 用Add方法向Hashtable集合中添加元素
10.4.4 从Hashtable集合中获取元素的方法
10.4.5 用Remove方法移除Hashtable集合中的元素
10.4.6 获取Hashtable集合的元素与键值
10.4.7 在Hashtable集合中检索元素
10.4.8 SortedList类与Hashtable类的区别
10.4.9 SortedList类常用方法
10.5 本章总结
10.6 实战练习
第11章 代理和事件( 教学视频:31分钟)
11.1 代理
11.1.1 什么是代理
11.1.2 代理所指向方法的类型和标识
11.1.3 代理引用的声明和使用
11.1.4 .NET Framework中的代理
11.1.5 代理用作方法的参数
11.1.6 了解多重代理
11.1.7 多重代理的实现方法
11.1.8 怎样移除多重代理指向的方法
11.2 事件和事件处理
11.2.1 C#的事件处理
11.2.2 事件举例--时钟事件
11.2.3 多重事件的处理
11.2.4 利用事件传递数据
11.3 本章总结
11.4 实战练习
第4篇 Windows程序设计
第12章 Windows应用程序概述( 教学视频:29分钟)
12.1 Windows应用程序
12.1.1 什么是Windows应用程序
12.1.2 创建Windows应用程序
12.1.3 程序入口文件Program.cs
12.1.4 窗口程序文件Form1.cs
12.1.5 窗口设计文件Form1.Designer.cs
12.2 Windows应用程序窗体
12.2.1 C#的Form类
12.2.2 Form类常用属性
12.2.3 Form类常用事件
12.3 为窗体添加控件
12.3.1 Windows窗体控件
12.3.2 控件常见属性
12.3.3 控件常用公共事件
12.3.4 向窗体添加控件的方法
12.3.5 调整控件的布局
12.4 Windows应用程序编程示例
12.4.1 创建一个窗体
12.4.2 用属性控制窗体外观
12.4.3 向窗体添加控件
12.4.4 添加控件事件处理程序
12.4.5 查看窗体运行效果
12.5 本章总结
12.6 实战练习
第13章 Visual Studio 2010控件介绍( 教学视频:39分钟)
13.1 接收输入的文本编辑控件
13.1.1 TextBox控件的作用
13.1.2 怎样获取或设置TextBox控件的内容
13.1.3 TextBox控件也可输入多行文本
13.1.4 选择TextBox控件中的文本
13.1.5 设置Textbox控件为密码框
13.1.6 检查TextBox控件的输入值
13.1.7 支持格式化的RichTextBox控件
13.1.8 选择RichTextBox控件中的文本
13.1.9 在RichTextBox控件中撤销上次操作
13.1.10 拖放RichTextBox控件中的文本
13.1.11 设置RichTextBox控件中的文本格式
13.1.12 设置RichTextBox控件的文本缩进
13.1.13 在RichTextBox控件中添加超链接
13.1.14 RichTextBox控件的文件操作
13.2 不能编辑的文本显示控件
13.2.1 用Label控件显示文本
13.2.2 用LinkLabel控件显示超链接文本
13.2.3 保存超链接的LinkCollection集合
13.2.4 LinkLabel控件编程示例
13.3 包容其他控件的容器控件
13.3.1 用Panel控件细分窗体
13.3.2 有标题的容器控件GroupBox
13.3.3 多页容器控件TabControl
13.3.4 TabControl控件的几种常见外观
13.3.5 TabControl控件中标签页的选择
13.3.6 添加TabControl控件中的标签页
13.3.7 网格形式容器控件TableLayoutPanel
13.3.8 设置TableLayoutPanel控件的外观
13.3.9 添加控件到TableLayoutPanel控件
13.4 值设置控件
13.4.1 用CheckBox控件选择打开或关闭状态
13.4.2 用RadioButton控件进行多选一操作
13.5 本章总结
13.6 实战练习
第14章 列表选择控件介绍( 教学视频:43分钟)
14.1 ListBox控件
14.1.1 用ListBox显示列表
14.1.2 用ListBox添加列表项
14.1.3 设置ListBox的行为
14.1.4 让ListBox支持多选
14.1.5 设置ListBox的外观
14.1.6 对ListBox列表进行排序
14.1.7 控制ListBox列表项的刷新
14.1.8 查找ListBox中的列表
14.1.9 ListBox控件的常用方法
14.2 ComboBox控件
14.2.1 认识ComboBox控件
14.2.2 设置ComboBox下拉样式
14.2.3 设置ComboBox的自动补齐
14.2.4 ComboBox自动补齐的数据源
14.2.5 设置ComboBox自动补齐方式
14.2.6 ComboBox的常见事件
14.2.7 修改ComboBox的子项
14.2.8 ComboBox的子项绘制
14.3 CheckedListBox控件
14.3.1 带复选标记的列表控件CheckedListBox
14.3.2 CheckedListBox控件编程示例
14.4 ListView控件
14.4.1 带图标的列表控件ListView
14.4.2 ListView的5种视图
14.4.3 使用任务窗体设置ListView
14.4.4 用ImageList给ListView提供图标
14.4.5 设置ListView的子项
14.4.6 设置Details视图模式的数据
14.4.7 给ListView添加分组设置
14.4.8 让ListView支持拖曳操作
14.4.9 在ListView中进行搜索
14.5 TreeView控件
14.5.1 用TreeView控件显示分层数据
14.5.2 添加节点到TreeView
14.5.3 在节点前显示复选框
14.5.4 选中节点的常用约定
14.5.5 用ImageList为TreeView提供图标
14.5.6 展开与折叠TreeView的节点
14.5.7 允许编辑TreeView的节点文本
14.5.8 让TreeView支持拖曳操作
14.6 本章总结
14.7 实战练习
第15章 数据显示控件( 教学视频:27分钟)
15.1 DataGridView控件以表格显示数据
15.1.1 DataGridView有哪些功能
15.1.2 设置对表格数据的操作
15.1.3 在窗体中如何放置DataGridView
15.1.4 为DataGridView提供数据
15.1.5 向DataGridView添加列
15.1.6 冻结DataGridView中的列
15.1.7 编辑DataGridView中的列
15.2 为DataGridView服务的类
15.2.1 DataGridViewElement对象模型
15.2.2 单元格对象模型DataGridViewCell
15.2.3 数据列对象模型DataGridViewColumn
15.2.4 数据行对象模型DataGridViewRow
15.3 设置DataGridView的格式
15.3.1 设置单元格边框样式
15.3.2 设置DataGridView控件边框样式
15.3.3 设置单元格边框样式
15.3.4 设置左上角单元格边框样式
15.3.5 设置单元格样式
15.3.6 单元格样式设置的优先级
15.3.7 设置DataGridView外观
15.3.8 用属性设置可对表格的操作
15.3.9 DataGridView其他常用属性
15.3.10 用AutoResizeColumn方法调列宽
15.3.11 用AutoResizeColumns方法调整所有列宽
15.3.12 用AutoResizeColumnHeadersHeight方法调整列标题高度
15.3.13 用AutoResizeRowHeadersWidth方法调整行标题宽度
15.3.14 DataGridView其他常用方法
15.4 DataGridView中显示数据的相关类
15.4.1 设置数据排序模式
15.4.2 用DataGridViewTextBoxColumn显示文本数据列
15.4.3 用DataGridViewCheckBoxColumn显示二元状态数据列
15.4.4 用DataGridViewImageColumn显示图像数据列
15.4.5 用DataGridViewButtonColumn显示按钮数据列
15.4.6 用DataGridViewComboBoxColumn显示下拉列表数据列
15.4.7 用DataGridViewLinkColumn显示超链接数据列
15.5 本章总结
15.6 实战练习
第16章 通用对话框( 教学视频:40分钟)
16.1 消息对话框
16.1.1 用消息对话框显示信息
16.1.2 该怎样显示消息对话框
16.1.3 消息对话框能显示哪些按键
16.1.4 用户按了哪个按钮
16.1.5 消息对话框可显示哪些图标
16.1.6 消息对话框编程示例
16.2 文件对话框
16.2.1 认识OpenFileDialog组件
16.2.2 显示"打开文件"对话框
16.2.3 打开快捷方式引用的文件
16.2.4 同时选择多个文件
16.2.5 设置可打开的文件类型
16.2.6 设置"打开"文件对话框的外观
16.2.7 检查指定的文件是否存在
16.2.8 使用SaveFileDialog组件
16.2.9 SaveFileDialog组件编程示例
16.2.10 另存文件时的覆盖与新建
16.2.11 使用FolderBrowserDialog组件
16.2.12 FolderBrowserDialog组件编程示例
16.3 字体选择对话框
16.3.1 使用FontDialog组件
16.3.2 FontDialog组件编程示例
16.4 颜色选择对话框
16.4.1 使用ColorDialog组件
16.4.2 ColorDialog组件编程示例
16.5 打印相关对话框
16.5.1 使用PrintDocument组件
16.5.2 PrintDocument组件编程示例
16.5.3 使用PageSetupDialog组件
16.5.4 PageSetupDialog组件编程示例
16.5.5 使用PrintPreviewDialog组件
16.5.6 PrintPreviewDialog组件编程示例
16.5.7 使用PrintDialog组件
16.6 本章总结
16.7 实战练习
第17章 其他常用控件( 教学视频:29分钟)
17.1 计时器组件
17.1.1 Timer组件有什么用
17.1.2 用Timer控制程序定时执行
17.1.3 用Timer制作秒表
17.1.4 启动和重置Timer
17.2 图形控件
17.2.1 用PictureBox控件显示图片
17.2.2 PictureBox显示图片的5种方式
17.2.3 更新PictureBox中的图片
17.2.4 用ImageList存储图片
17.2.5 哪些控件可用ImageList中的图片
17.3 菜单控件
17.3.1 用MenuStrip创建菜单
17.3.2 有哪些方法添加菜单项
17.3.3 为菜单项编写代码完成相应功能
17.3.4 用ToolStrip创建工具栏
17.3.5 工具栏中可使用的按钮类型
17.3.6 设置工具栏的外观和行为
17.3.7 设置ToolStripComboBox的自动完成功能
17.3.8 设置ToolStrip的外观
17.3.9 用ContextMenuStrip创建快捷菜单
17.4 本章总结
17.5 实战练习
第18章 Windows应用程序的部署( 教学视频:22分钟)
18.1 你了解这两种部署方案吗
18.1.1 什么是ClickOnce部署方案
18.1.2 什么是Windows Installer部署方案
18.2 ClickOnce部署
18.2.1 创建一个部署用的示例程序
18.2.2 启动"发布向导"的3种方法
18.2.3 设置发布应用程序的3个URL地址
18.2.4 为应用程序设置名称
18.2.5 设置需发布的非代码文件
18.2.6 为应用程序添加下载组
18.2.7 设置应用程序的系统必备组件
18.2.8 设置安装组件的权限
18.2.9 应用程序的3种发布方式
18.2.10 将应用程序发布到网站
18.2.11 将应用程序发布到共享文件夹
18.2.12 将应用程序发布到CD-ROM
18.2.13 发布应用程序
18.2.14 安装发布的应用程序
18.3 Windows Installer部署
18.3.1 创建一个部署用的示例程序
18.3.2 创建部署项目
18.3.3 设置文件安装到目标机器的位置
18.3.4 添加项目输出组
18.3.5 设置安装后的桌面快捷方式
18.3.6 更改安装应用程序的部署特性
18.3.7 将应用程序信息添加到注册表
18.3.8 安装过程中可使用的对话框
18.3.9 "欢迎使用"用户界面对话框
18.3.10 "选择安装文件夹"用户界面对话框
18.3.11 "确认安装"用户界面对话框
18.3.12 "进度"用户界面对话框
18.3.13 "安装完成"用户界面对话框
18.3.14 安装过程中的自定义默认对话框
18.3.15 "单选按钮"用户界面对话框
18.3.16 "复选框"用户界面对话框
18.3.17 "文本框"用户界面对话框
18.3.18 "客户信息"用户界面对话框
18.3.19 "许可协议"用户界面对话框
18.3.20 "自述文件"用户界面对话框
18.3.21 "注册用户"用户界面对话框
18.3.22 生成应用程序安装文件
18.4 比较两种部署方案
18.5 本章总结
18.6 实战练习
第5篇 C#高级编程技术和工具
第19章 异常处理( 教学视频:28分钟)
19.1 程序运行中的
19.2 C#和.NET中的异常处理
19.2.1 使用try…catch…finally结构处理异常
19.2.2 捕获程序中可能产生的异常
19.2.3 用finally语段释放资源
19.3 多异常的捕获
19.3.1 什么多异常
19.3.2 异常的继承关系
19.3.3 捕获所有异常的方法
19.4 定义用户异常的方法
19.5 本章总结
19.6 实战练习
第20章 文件系统与流( 教学视频:45分钟)
20.1 软件系统环境相关信息
20.1.1 用System.Environment类获得应用程序运行环境的信息
20.1.2 System.Environment类的应用举例
20.1.3 用Enviroment.GetFolderPath()获得各种Windows标准文件夹的路径
20.2 对文件进行操作
20.2.1 C#对文件进行操作的类
20.2.2 用System.IO.File类的静态方法操作文件
20.2.3 用System.IO.FileInfo类的方法操作文件
20.3 对文件夹进行操作
20.3.1 C#对文件夹操作的类
20.3.2 用System.IO.Directory类的静态方法操作文件夹
20.3.3 用System.IO.DirectoryInfo类的方法操作文件夹
20.4 流文件概述
20.4.1 了解流
20.4.2 Stream类的常用方法和属性
20.5 使用流对文件进行读写
20.5.1 使用System.IO.FileStream类进行文件读写
20.5.2 用System.IO.FileStream类打开文本文件
20.5.3 用BinaryReader和BinaryWriter类读写原始文件
20.5.4 用StreamReader和StreamWriter类读写文本文件
20.6 序列化和反序列化
20.6.1 什么是对象序列化
20.6.2 用格式器描述被序列化对象
20.6.3 对象序列化使用示例一
20.6.4 对象序列化使用示例二
20.6.5 对象序列化使用示例三
20.7 异步读取数据
20.7.1 什么是异步读取数据
20.7.2 异步读取数据使用示例
20.8 本章总结
20.9 实战练习
第21章 可扩展标记语言( 教学视频:30分钟)
21.1 认识XML
21.1.1 文档对象模型的功能
21.1.2 用XPath查询XML文档
21.1.3 了解可扩展样式表语言XSL
21.1.4 用XML Schemas设置数据元素和属性
21.1.5 .NET中处理XML的相关类
21.2 使用XML DOM进行编程
21.2.1 创建一个空的XML文档
21.2.2 向XML文档添加元素
21.2.3 更新XML文档中的元素
21.2.4 删除XML文档中的元素
21.2.5 加载和保存XML文档
21.3 用DataSet保存XML数据
21.3.1 不使用Schema文件加载XML文档
21.3.2 使用Schema文件加载XML文档
21.3.3 遍历XML文档
21.4 用XPath查找节点
21.4.1 XPath简介
21.4.2 XPath查询示例代码
21.4.3 XPath示例代码讲解
21.5 使用XSL将XML文档转化为另一种格式
21.5.1 XSL转换示例一
21.5.2 XSL转换示例讲解
21.5.3 XSL转换示例二
21.6 本章总结
21.7 实战练习
第22章 多线程编程( 教学视频:27分钟)
22.1 C#线程的主要特征
22.1.1 输出不同内容的两个线程
22.1.2 调用同一方法的两个线程
22.1.3 静态变量在多线程多线程中的应用
22.1.4 线程调度
22.1.5 线程和进程的关系
22.1.6 何时需要使用多线程
22.1.7 何时不要使用多线程
22.2 创建并开始一个线程
22.2.1 用Thread类创建线程
22.2.2 向ThreadStart传递参数
22.2.3 给线程命名
22.2.4 C#的后台线程
22.2.5 设置线程优先级
22.2.6 线程中的异常处理
22.3 线程同步
22.3.1 线程同步和协同的可用性工具
22.3.2 阻止现在的线程
22.3.3 Joining一个线程
22.4 线程安全
22.4.1 了解线程安全
22.4.2 选择一个同步对象
22.4.3 使用嵌套锁
22.4.4 什么时候上锁合适
22.4.5 使用锁的效率考虑
22.4.6 线程安全与.NET Framework
22.5 用中断和取消提前释放线程
22.5.1 中断线程
22.5.2 取消线程
22.6 线程有哪些状态
22.7 等待处理
22.7.1 了解自动设置方法
22.7.2 自动设置方法示例一
22.7.3 自动设置方法示例二
22.7.4 自动设置方法示例三
22.7.5 ManualResetEvent类控制多个线程
22.7.6 跨线程的互斥量
22.7.7 使用信号量
22.7.8 使用WaitAny、WaitAll和SignalAndWait方法
22.8 同步性作用域
22.9 套间线程
22.9.1 什么是套间线程
22.9.2 使用套间模型
22.9.3 用Control.Invoke方法进行跨线程调用
22.10 管理工作线程的BackgroundWorker组件
22.10.1 BackgroundWorker的特征
22.10.2 BackgroundWorker组件编程示例一
22.10.3 BackgroundWorker组件编程示例二
22.10.4 BackgroundWorker组件编程示例三
22.11 用于读/写操作的锁
22.11.1 了解读/写操作的锁
22.11.2 管理资源访问锁定状态类ReaderWriterLockSlim
22.11.3 读/写操作锁的进一步说明
22.12 用线程池管理线程
22.13 用异步代理得到线程返回的数据
22.14 .NET提供的计时器
22.15 各线程数据的局部存储
22.16 本章总结
22.17 实战练习
第6篇 Web数据库开发
第23章 数据库基础知识( 教学视频:15分钟)
23.1 了解SQL Server
23.2 操作MSSQL数据表
23.2.1 在数据库中创建、修改和删除表
23.2.2 向表中插入、修改、删除和检索数据
23.2.3 设置表的主键约束
23.2.4 设置表的外键约束
23.2.5 设置表的唯一性约束
23.2.6 设置表的CHECK约束
23.2.7 设置列的默认约束
23.3 数据库的存储过程
23.3.1 创建存储过程的SQL语句
23.3.2 执行和删除存储过程的SQL语句
23.3.3 用SQL Server Management Studio管理存储过程
23.4 数据库中的触发器
23.4.1 创建和使用触发器的SQL语句
23.4.2 用SQL Server Management Studio管理触发器
23.5 本章总结
23.6 实战练习
第24章 ADO.NET数据库编程( 教学视频:32分钟)
24.1 ADO.NET介绍
24.1.1 ADO.NET是神马
24.1.2 ADO.NET相关的类和接口
24.2 DataSet和DataTable类
24.2.1 表示内存数据表的DataTable类
24.2.2 创建DataTable的方法
24.2.3 遍历DataTable中保存的记录
24.2.4 接受和回滚DataTable的更改
24.2.5 表示内存数据集合的DataSet类
24.2.6 使用DataSet类的步骤
24.2.7 接受和回滚DataSet的更改
24.3 用ADO.NET访问SQL Server数据库
24.3.1 ADO.NET访问数据库的步骤
24.3.2 用SqlConnection连接数据库
24.3.3 用SqlCommand执行SQL命令
24.3.4 用SqlDataReader读取数据库记录
24.3.5 用SqlDataAdapter获取数据库记录
24.3.6 用SqlDataAdapter更改数据库记录
24.4 用ADO.NET访问Access数据库
24.4.1 System.Data.OleDb命名空间提供的功能
24.4.2 访问Access数据库的各种类
24.5 使用数据库访问控件
24.5.1 用DataGridView控件管理数据库中的记录
24.5.2 用BindingNavigator控件导航记录
24.6 本章总结
24.7 实战练习
第25章 ASP.NET技术入门( 教学视频:24分钟)
25.1 初识ASP.NET
25.1.1 了解ASP.NET
25.1.2 System.Web常用的类
25.1.3 创建一个Web应用程序
25.2 用ASP.NET控件创建网页
25.2.1 用TextBox控件显示文本框
25.2.2 用Button控件显示按钮
25.2.3 用HyperLink控件显示超链接
25.2.4 用DropDownList、ListBox等显示下拉列表、列表
25.2.5 用Menu控件显示导航菜单
25.3 留言板网站实例
25.3.1 数据库和页面设计
25.3.2 设计欢迎页面
25.3.3 设计添加留言页面
25.3.4 设计查看留言页面
25.3.5 发布留言板网站
25.4 本章总结
25.5 实战练习
第26章 服务器端控件详解( 教学视频:24分钟)
26.1 认识服务器控件
26.1.1 为什么使用服务器控件
26.1.2 服务器控件与HTML控件的区别
26.2 数据操作控件
26.2.1 SqlDataSource的作用
26.2.2 用SqlDataSource控件连接到数据库
26.2.3 用GridView控件显示数据
26.2.4 用DetailsView控件显示指定记录
26.3 用验证控件检查用户输入
26.3.1 必填内容的验证控件RequiredFieldValidator
26.3.2 比较两个值的验证控件CompareValidator
26.3.3 检查指定范围的验证控件RangeValidator
26.3.4 正则表达式验证控件RegularExpressionValidator
26.3.5 自定义验证控件CustomValidator
26.3.6 验证错误信息汇总控件ValidationSummary
26.4 创建ASP.NET用户控件
26.5 本章总结
26.6 实战练习
第7篇 .NET 4.0的增强功能
第27章 WPF框架( 教学视频:19分钟)
27.1 WPF基础
27.1.1 了解WPF基础架构
27.1.2 与WPF相关的技术
27.2 创建WPF应用程序
27.2.1 创建WPF的过程
27.2.2 完整的WPF应用程序实例
27.2.3 创建WPF浏览器应用程序
27.3 简单WPF实例
27.3.1 用ListBox控件实现列表显示
27.3.2 用Hyperlink控件实现多页面切换
27.3.3 用DockPanel沿容器边缘定位
27.3.4 使用StackPanel叠放包含的控件
27.3.5 使用数据源集合实现多数据绑定
27.3.6 属性变更引起依赖数据绑定变化
27.3.7 使用Brush填充图形
27.3.8 使用Storyboard实现动画
27.3.9 使用Storyboard实现控件的翻转
27.4 本章总结
27.5 实战练习
第28章 WCF框架( 教学视频:22分钟)
28.1 WCF基础
28.1.1 了解WCF架构
28.1.2 了解WCF模型
28.2 WCF服务和客户端实例
28.2.1 创建WCF服务承载项目
28.2.2 定义WCF服务协定
28.2.3 定义实现WCF服务接口的类
28.2.4 运行WCF服务的相关代码
28.2.5 创建WCF客户端程序
28.2.6 配置WCF客户端的配置
28.2.7 WCF客户端对服务端的调用
28.3 主要的WCF技术
28.3.1 使用会话在客户端与服务间交互
28.3.2 WCF事务管理模型
28.4 本章总结
28.5 实战练习
第29章 Windows WF框架( 教学视频:40分钟)
29.1 C#的工作流开发框架
29.1.1 了解WF框架
29.1.2 WF框架中的重要元素
29.2 开发WF工作流应用程序
29.2.1 第一个WF应用程序
29.2.2 WF工作流的基本元素:WF活动
29.2.3 自定义的代码活动
29.2.4 WF提供的服务
29.3 WF创建工作流实例
29.3.1 在工作流中使用集合
29.3.2 猜价格游戏
29.4 本章总结
29.5 实战练习
第30章 语言集成查询LINQ( 教学视频:25分钟)
30.1 LINQ概述
30.1.1 了解LINQ查询
30.1.2 简单LINQ查询实例
30.2 LINQ语言基础
30.2.1 最重要的LINQ查询表达式
30.2.2 LINQ查询语法和方法语法实例
30.2.3 用LINQ合并数据
30.2.4 用LINQ转换数据
30.3 LINQ查询数据源
30.3.1 用LINQ To SQL查询数据库中的数据
30.3.2 用LINQ To DataSet查询缓存在DataSet中的数据
30.3.3 用LINQ To XML查询XML中的数据
30.3.4 用LINQ To Objects查询可枚举的集合
30.4 本章总结
30.5 实战练习
*第8篇 综 合 案 例
第31章 用MVC开发音乐商店网站
31.1 开发站点前的配置
31.1.1 预览音乐商店网站
31.1.2 系统架构总览
31.1.3 系统数据库设计
31.1.4 系统文件目录结构
31.1.5 创建母版页和CSS文件
31.1.6 使用Entity Framework创建实体模型
31.2 音乐专辑列表实现
31.2.1 首页控制器实现
31.2.2 创建首页视图
31.2.3 浏览音乐流派
31.2.4 浏览音乐明细信息
31.3 管理音乐列表
31.3.1 基于角色的身份验证
31.3.2 编辑音乐信息
31.3.3 基于模型的数据验证
31.4 实现和管理购物车
31.4.1 添加到购物车功能
31.4.2 从购物车中移除功能
31.4.3 提交购物车
31.5 关键技术讲解
31.6 本章总结
31.7 实战练习
第32章 电子购物商城
32.1 系统总体设计
32.1.1 系统功能描述
32.1.2 WebShopping应用程序组成
32.1.3 保存数据需要哪些表
32.1.4 设计数据库表之间关系设计
32.2 系统通用类和模块设计
32.2.1 编写系统常量和枚举代码
32.2.2 编写系统常用操作的代码
32.2.3 设计显示标题的用户控件
32.2.4 设计分页用户控件
32.2.5 创建级联样式表web.css文件
32.2.6 设计主题文件
32.2.7 在Web.config中设置数据库连接字符串
32.2.8 创建数据库对象模型
32.3 电子购物商城首页
32.3.1 设计首页界面
32.3.2 设计全站搜索的用户控件
32.3.3 设计登录网站的用户控件
32.3.4 设计显示新闻的用户控件
32.3.5 设计显示公告的用户控件
32.4 用户注册和登录
32.4.1 用户必须先注册
32.4.2 显示提交的用户信息
32.4.3 处理用户登录
32.4.4 退出系统时要做的操作
32.5 浏览商品、购物车和订单
32.5.1 查看商品信息
32.5.2 对商品进行评论
32.5.3 购物车功能
32.5.4 将商品加入购物车
32.5.5 查看购物车内容
32.5.6 生成订单编号的代码
32.5.7 生成购物订单
32.5.8 发布留言
32.6 商 品 搜 索
32.6.1 按商品名称搜索
32.6.2 更复杂的高级搜索
32.7 用户信息中心
32.7.1 管理用户的首页
32.7.2 根据角色动态加载操作菜单
32.7.3 查看个人信息
32.7.4 修改个人信息
32.7.5 修改密码
32.7.6 管理我的订单
32.8 商品及其分类管理
32.8.1 查看已有商品分类列表
32.8.2 动态加载商品分类层次结构的代码
32.8.3 添加新的商品分类
32.8.4 修改已有商品分类
32.8.5 查看已有商品列表
32.8.6 动态加载商品分类层次树的代码
32.8.7 添加新的商品
32.8.8 修改已有商品
32.8.9 商品图片管理
32.8.10 显示商品图片
32.8.11 商品评论列表
32.9 系统信息中心
32.9.1 查看已有新闻列表
32.9.2 发布新的新闻
32.9.3 修改已发布新闻
32.9.4 发布公告
32.9.5 管理用户留言
32.10 系统用户和角色管理
32.10.1 查看已有角色列表
32.10.2 添加新的角色
32.10.3 修改已有角色
32.10.4 管理注册用户
32.10.5 添加管理员
32.11 本章总结
32.12 实战练习
说明:因篇幅所限,第8篇内容以PDF电子文档的格式收录于本书的配书光盘中。该项目案例涉及的源程序也收录于配书光盘中。
C#编程实战宝典
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!