第Ⅰ部分MicrosoftcVisual#和MicrosoftcVisualcStudioc25概述
欢迎进入C#编程世界
开始在VisualcStudioc环境中编程
写第一个程序
使用命名空间
创建Windows窗体应用程序
使用变量操作符和表达式
理解语句
使用标识符
标识关键字
使用变量
命名变量
声明变量
使用基本数据类型
使用算术操作符
确定操作符的值
运用算术操作符
控制优先级
使用结合性对表达式进行求值
递增和递减变量
方法和作用域
声明方法
指定方法声明语法
return语句
调用方法
运用作用域
定义局部作用域
定义类作用域
重载方法
编写方法
使用决策语句
声明bool变量
使用布尔操作符
理解相等和关系操作符
理解条件逻辑操作符
操作符优先级和结合性总结
使用if语句来做出决策
理解if语句的语法
使用块来分组语句
嵌套if语句
使用switch语句
理解switch语句的语法
遵守switch语句规则
使用复合赋值和循环语句
使用复合赋值操作符
使用while语句
使用for语句
使用do语句
管理错误和异常
处理错误
尝试代码和捕捉异常
处理异常
未处理的异常
使用多个catch处理程序
捕捉多个异常
使用checked和unchecked整数算术
写出checked语句
写出checked表达式
抛出异常
使用finally块
第Ⅱ部分理解C#语言
创建并管理类和对象
理解分类
封装的目的
定义并使用类
控制可访问性
使用构造函数
理解static方法和数据
创建共享字段
使用const关键字来创建static字段
理解值和引用
复制int变量和类
使用ref和out参数
创建ref参数
创建out参数
计算机内存组织
使用堆栈和堆
SystemObject类
装箱
拆箱
使用枚举和结构来创建值类型
使用枚举
声明枚举类型
使用枚举
选择与枚举直接量对应的整数值
选择枚举的基础类型
使用结构类型
声明结构类型
理解结构和类的区别
声明结构变量
理解结构的初始化
复制结构变量
使用数组和集合
什么是数组
声明数组变量
创建数组实例
初始化数组变量
访问单独的数组元素
遍历一个数组
复制数组
什么是集合类
ArrayList类
Queue类
Stack类
Hashtable类
SortedList类
比较数组和集合
使用集合类来玩牌
理解参数数组
使用数组参数
声明params数组
使用paramscobject[c]
使用params数组
使用继承
什么是继承
使用继承
基类和派生类
调用基类构造函数
赋值类
new方法
virtual方法
override方法
protected访问
创建接口
接口语法
接口限制
实现接口
通过接口来引用一个类
使用多个接口
抽象类
密封类
扩展继承层次结构
总结关键字组合
使用垃圾回收和资源管理
对象的生存期
编写析构函数
为什么使用垃圾回收器?
垃圾回收器是如何工作的?
建议
资源管理
disposal方法
异常安全的disposal方法
using语句
从析构函数中调用Dispose方法
使代码异常安全
第Ⅲ部分创建组件
实现Property(属性)
比较字段和方法
什么是属性?
使用属性
只读属性
只写属性
属性的可访问性
理解属性的局限性
声明接口的属性
使用索引器
什么是索引器?
一个不使用索引器的例子
使用索引器的同一个例子
理解索引器的aessor
对比索引器和数组
接口中的索引器
在Windows应用程序中使用索引器
委派和事件
声明和使用委派
自动化工厂的例子
不使用委派来实现工厂
使用委派来实现工厂
使用委派
匿名方法和委派
创建方法适配器
将匿名方法用作适配器
匿名方法的特点
启用事件通知
声明事件
订阅事件
取消订阅事件
引发事件
理解GUI事件
使用事件
泛型概述
object存在的问题
泛型解决方案
对比泛型类与泛化类
泛型和约束
创建泛型类
二叉树理论
使用泛型构造二叉树类
创建泛型方法
枚举集合
枚举集合中的元素
人工实现枚举器
实现IEnumerable接口
使用迭代器来实现一个枚举器
一个简单的迭代器
使用迭代器为Tree类定义一个枚举器
操作符重载
理解操作符
操作符限制
重载的操作符
创建对称操作符
理解复合赋值
声明递增和递减操作符
定义操作符对
实现一个操作符
理解转换操作符
提供内建转换
实现用户自定义的转换操作符
再论创建对称操作符
添加隐式转换操作符
第Ⅳ部分操纵Windows应用程序
Windows窗体概述
创建应用程序
创建Windows窗体应用程序
公共Windows窗体属性
程序化更改属性
在窗体上添加控件
使用Windows窗体控件
设置控件属性
动态更改属性
在Windows窗体上发布事件
运行应用程序
使用菜单和对话框
菜单设计原则和样式
添加菜单和处理菜单事件
创建菜单
设置菜单项属性
其他菜单项属性
菜单事件
弹出菜单
使用公共对话框控件
使用SaveFileDialog控件
使用打印机
执行校验
验证数据
CausesValidation属性
校验事件
示例:客户维护
第一次验证尝试
避免对用户造成干扰
使用ErrorProvider控件
添加状态栏
第Ⅴ部分管c理c数c据c
使用数据库
使用ADONET数据库
NorthwindcTraders数据库
创建数据库
访问数据库
理解DataSetcDataTable和TableAdapter
在应用程序中显示数据
程序化地使用ADONET
使用数据绑定和DataSet
Windows窗体控件和数据绑定
定义一个DataSet并使用简单数据绑定
使用复杂数据绑定
使用DataSet来更新数据库
管理连接
解决多用户更新的问题
通过DataGridView控件来操作DataSet
在DataGridView控件中校验用户输入
使用DataSet执行更新
第Ⅵ部分构建Web应用程序c
ASPNET概述
将Internet作为一个基础结构c来理解
理解Web服务器请求和应答
管理状态
理解ASPNET
使用ASPNET创建Web应用程序
c构建ASPNET应用程序
理解Server控件
创建和使用主题
理解Web窗体校验控件
服务器端校验和客户端校验的比较
服务器端校验
客户端校验
实现客户端控件
保护网站并使用Web窗体访问数据
使用Web窗体的GridView控件
安全性管理
理解基于窗体的安全特性
实现基于窗体的案例性
查询数据
显示客户信息
分页显示数据
优化数据访问
将数据缓存到数据源中
编辑数据
使用GridView控件删除行
更新GridView控件中的数据行
创建和使用Web服务
Web服务的定义
SOAP所扮演的角色
Webc服务描述语言
构建ProductServicecWeb服务
创建ProductServicecWeb服务
处理复杂数据
Web服务c客户端和代理
支持SOAP:难一点的方法
支持说SOAP:简单一点的方法
消费ProductServicecWeb服务