内容简介
1.1 面向过程程序设计
第1章 面向对象程序设计基础
1.2 面向过程程序设计的局限
1.3 面向对象程序设计的概念
1.3.1 类和对象
1.3.2 抽象与封装
1.3.3 类与类的关系
1.3.4 多态
1.3.5 关联、消息与委托
1.4.1 UML视图和UML图
1.4 统一建模语言(UML)简介
1.4.2 类图和对象图
第2章 Visual Studio.NET简介
2.1 .NET结构概貌
2.1.1 .NET框架
2.1.2 托管代码和托管数据
2.2 .NET的核心成分简介
2.2.1 公共语言运行库
2.2.2 .NET框架类库
2.2.5 通用类型系统
2.2.6 中间语言
2.2.4 公共语言规范
2.2.3 程序集
2.3 基于.NET的应用开发
2.3.1 跨语言和跨操作系统
2.3.2 基于.NET的应用程序
第3章 C#程序设计初步
3.1 在SDK上开发控制台应用程序
3.1.1 第1个C#程序
3.1.2 在SDK上运行C#程序
3.1.3 简单的输入输出和类型转换
3.2 在IDE上开发控制台应用程序
3.2.1 IDE的主要窗体
3.2.2 开发步骤
3.3 在SDK上开发Windows应用程序
3.4 在IDE上开发Windows应用程序
3.5 获取帮助
3.5.1 .NET组合帮助集合
3.5.2 在编程中随时获得帮助信息
3.5.3 .NET框架的帮助文档
第4章 C#类型和语句成分
4.1 关键字、标识符和注释
4.1.1 关键字
4.1.2 标识符
4.1.3 标识符的命名
4.1.4 注释
4.2.1 公共语言规范、公共类型系统和类型名
4.2 C#类型基础
4.2.2 System.Object类
4.2.3 存放对象的区域:栈和堆
4.2.4 C#的类型系统
4.2.5 引用类型概念
4.2.6 值类型和内置类型的概念
4.2.7 值类型和引用类型的存储方案比较
4.2.8 变量、常量和文字
4.3 简单类型
4.3.1 整数类型
4.3.2 浮点数类型
4.3.3 decimal类型
4.4 枚举类型
4.3.4 布尔类型
4.5 运算符和表达式
4.5.1 运算符概述
4.5.2 表达式
4.5.3 算术运算符
4.5.4 关系运算符
4.5.5 逻辑运算符和位运算符
4.5.6 增量减量运算符
4.5.7 条件运算符
4.5.8 运算的优先级和结合性
4.6 默认值
4.7.2 显式转换
4.7 类型转换
4.7.1 隐式类型转换
4.8 装箱和拆箱
4.8.1 装箱
4.8.2 拆箱
第5章 语句和程序结构
5.1 结构化程序设计的基本结构
5.2 顺序结构和简单语句
5.2.1 赋值语句
5.2.2 空语句
5.2.3 复合语句
5.2.4 表达式语句
5.2.5 标号语句
5.2.6 声明语句
5.3 选择结构和条件语句
5.3.1 选择结构
5.3.2 if语句
5.3.3 switch语句
5.4 循环结构和语句
5.4.1 循环结构
5.4.2 do-while语句
5.4.3 while语句
5.4.4 for语句
5.5.1 continue语句
5.5.2 break语句
5.4.5 foreach语句
5.5 跳转语句
5.5.3 goto语句
5.5.4 return语句
5.5.5 throw语句
5.6 条件编译语句
5.7 异常处理语句
5.7.1 throw语句
5.7.2 异常处理try语句
5.8.1 checked/unchecked语句
5.8.2 lock语句
5.8 其他语句
5.9 名空间
5.9.1 声明名空间
5.9.2 导入名空间
5.9.3 使用别名
第6章 数组和字符串
6.1 一维数组
6.1.1 一维数组的声明、创建和初始化
6.1.2 访问一维数组元素
6.2 多维数组
6.2.1 多维数组的声明、创建和初始化
6.2.2 访问多维数组元素
6.3.1 交错数组的声明、创建和初始化
6.3 交错数组
6.3.2 访问交错数组元素
6.4 Array类简介
6.4.1 Array的公共属性
6.4.2 Array的公共方法
6.5 数组的遍历
6.5.1 foreach语句的应用
6.5.2 foreach语句和for语句的比较
6.6 字符串常量
6.6.1 创建字符串
6.6.2 String的字段和索引
6.6.3 String字符串的比较
6.6.4 String字符串的检索
6.6.5 String字符串的格式化
6.6.6 String字符串的复制
6.6.7 String字符串的连接、插入
6.6.8 String字符串字符的剪裁和移除
6.6.9 向String字符串填充字符
6.6.10 String字符串的字符大小写操作
6.7 StringBuilder类型
6.7.1 公共属性和索引器
6.7.2 创建字符串变量
6.7.3 追加字符串
6.7.4 设置、检查字符串变量的容量
6.7.5 字符串的插入、删除和移位
6.8.1 复合格式化功能
6.8 复合格式化
6.8.3 日期与时间格式字符串
6.8.2 数字格式字符
6.8.4 枚举格式化字符串
6.8.5 自定义格式字符串
第7章 类和对象
7.1 类的概念
7.1.1 类的声明
7.1.2 类的成员
7.2 对象
7.3 构造函数
7.3.1 创建对象
7.3.3 构造函数的重载
7.3.2 默认的构造函数
7.3.4 静态构造函数
7.4 析构函数
7.5 属性
7.5.1 属性的定义和使用
7.5.2 属性的读写控制
7.5.3 在属性中完成更多功能
7.5.4 静态属性
7.6 索引器
7.6.1 声明和使用索引器
7.6.2 索引器的重载
7.6.3 索引和属性的比较
7.7 对象的复制
第8章 方法
8.1 实例方法和静态方法
8.2 值传递、引用传递和ref参数
8.3 out参数和params参数
8.3.1 params参数
8.3.2 out参数
8.4 局部变量
8.5 签名和重载
8.6 Main方法
8.7 运算符重载
8.7.1 声明运算符方法
8.7.2 一元运算符的重载
8.7.3 二元运算符的重载
8.7.4 类型转换运算符的重载
第9章 继承和访问控制
9.1 类的继承
9.1.1 基类与派生类
9.1.2 成员的继承、添加和隐藏
9.1.3 关键字base
9.2 访问控制符
9.2.1 访问控制符和可访问性
9.2.2 继承private成员和protected成员
9.2.3 访问控制符的约束
9.3.1 类的嵌套
9.3.2 对象成员
9.3 嵌套类型、对象成员
9.4 基类与派生类的转换、as运算符
9.5 抽象类和封闭类
9.5.1 封闭类
9.5.2 抽象方法、属性、索引器
9.5.3 抽象类
第10章 多态
10.1 多态的基础
10.1.1 虚成员
10.1.2 重写(覆盖)
10.1.5 上溯
10.1.6 编译时的多态和运行时的多态
10.1.4 隐藏和重写的比较
10.1.3 多态对象
10.2 多态技术的应用和流程共享
10.3 ToString()的重写
第11章 接口和结构
11.1 接口
11.1.1 定义接口
11.1.2 实现接口
11.1.3 接口对象
11.1.4 显式接口成员实现
11.2.1 结构的声明
11.2.2 结构的实例化
11.2 结构
11.2.3 结构的应用
11.2.4 结构和类的比较
第12章 委托和事件
12.1 委托
12.1.1 委托声明和委托对象
12.1.2 委托的多播(组合)
12.1.3 Delegate和MulticastDelegate类型简介
12.2 事件
12.2.1 事件和事件处理的机制
12.2.2 事件的声明
12.2.3 事件的注册和移除
12.2.4 事件访问器
第13章 异常处理和不安全代码
13.1 基本概念
13.1.1 异常类
13.1.2 异常的层次结构
13.1.3 公共异常类
13.2 异常处理
13.2.1 异常处理的一般步骤
13.2.2 抛出异常
13.2.3 捕获处理异常
13.2.4 异常的重抛和链接
13.3 自定义异常类
13.4.1 算术溢出及其检查
13.4 其他的异常处理手段
13.4.2 断言
13.5 不安全代码
13.5.1 不安全上下文
13.5.2 指针类型及其运算
13.6 实例解析
第14章 动态类型和特性
14.1 动态类型
14.1.1 typeof运算符和GetType方法
14.1.2 MemberInfo类
14.1.3 System.Type类
14.1.4 is运算符
14.1.5 反射
14.2 特性
14.2.1 使用系统定义的特性
14.2.2 自定义特性
第15章 .NET类库应用
15.1 类库结构和System名空间
15.1.1 System名空间的类
15.1.2 System名空间的接口
15.1.3 System名空间的结构
15.1.4 System名空间中的委托
15.1.5 System名空间的枚举
15.2.1 标准流的控制
1 5.2 Console类
15.2.2 读写方法
15.3 Convert类
15.3.1 Convert类的类型转换
15.3.2 Convert类方法介绍
15.4 Math类和Random类
15.4.1 System.Math类
15.4.2 System.Random类
15.5 TimeSpan类
15.5.1 TimeSpan对象的单位和格式
15.5.2 TimeSpan公共字段和属性
15.5.3 构造函数和创建TimeSpan对象
15.5.4 TimeSpan公共方法和运算符
15.6 DateTime类
15.6.1 构造函数和DateTime对象的创建
15.6.2 DateTime的公共字段和属性
15.6.3 DateTime的方法和运算符
15.7 System.Collections名空间概念
15.8 System.Collections中的接口
15.8.1 IEnumerable接口
15.8.2 IEnumerator接口
15.8.3 ICollection接口
15.8.4 IComparer接口
15.8.5 IList接口
15.8.6 IDictionary接口
15.8.8 IHashCodeProvider接口
15.8.7 IDictionaryEnumerator接口
15.9 System.Collections中的类
15.9.1 Array List类
15.9.2 BitArray类
15.9.3 Stack类
15.9.4 Queue类
15.9.5 Hashtable类
15.9.6 SortedList类
15.9.7 CollectionBase类
15.9.8 DictionaryBase类
15.9.9 DictionaryEntry结构
15.10 System.Collections.Specialized名空间
16.1.1 概念
第16章 流和文件
16.1 基本概念
16.1.2 文件相关类的层次结构
16.2 文件的基本操作
16.2.1 文件的创建
16.2.2 读文件
16.2.3 写文件
16.3 文件的简单管理
16.3.1 FileSystemInfo类及其派生类
16.3.2 File类、Directory类和Path类
16.4 实例解析
17.1.1 Windows应用的面向对象性
17.1 Windows应用的基本概念
第17章 Windows应用程序
17.1.2 Windows应用的基本界面
17.1.3 Windows应用的输入输出
17.1.4 Windows应用的事件处理
17.2 Windows应用的开发步骤
17.2.1 创建窗体
17.2.2 添加控件以及控件布局
17.2.3 响应事件
17.3 用户区域的Windows Form控件
17.3.1 文本类控件
17.3.2 按钮类控件
17.3.3 列表型控件
17.3.4 日期时间类控件
17.3.5 对话框类控件
17.3.6 图形类控件
17.3.7 分组类控件
17.3.8 标尺类控件
17.3.9 其他类控件
17.3.10 用户自定义控件
17.4 非用户区域的Windows Form控件
17.5 Windows应用的SDI/MDI和对话框
17.5.1 MDI应用
17.5.2 对话框的使用
17.6 实例解析
18.1.1 多线程的概念
第18章 多线程
18.1 基本概念
18.1.2 C#中的线程实现方法
18.2 Thread类
18.2.1 Thread类
18.2.2 线程的状态和生命周期
18.2.3 线程的优先级
18.3 多线程编程的基本步骤
18.4 多线程的同步
18.4.1 同步的方法
18.4.2 手动同步类
18.4.3 使用Thread类的方法同步进程
18.5 实例解析
第19章 数据访问技术
19.1 ADO.NET基本概念
19.1.1 ADO.NET数据访问模型
19.1.2 ADO.NET数据类
19.2 ADO.NET数据访问应用程序的编写
19.2.1 ADO.NET处理数据库的流程
19.2.2 ADO.NET处理数据库的步骤实现
19.2.3 小结
19.3 数据访问应用程序的数据显示
19.4 实例解析
20.1 进程间通信
20.1.1 基本概念
第20章 进程间通信
20.1.2 Windows下进程间的通信机制
20.1.3 IPC机制小结
20.2 窗口消息
20.2.1 COPYDATASTRUCT结构
20.2.2 WM_COPYDATA消息
20.2.3 实例程序
20.3 消息队列
20.4 Windows Socket编程
20.4.1 Socket简介
20.4.2 面向连接的Socket编程
20.4.3 无连接的Socket编程
21.1 ASP.NET简介
第21章 ASP.NET编程初步
21.2 ASP.NET基本语法与代码分离技术
21.2.1 ASP.NET的基本语法
21.2.2 Code Behind技术
21.3 Web窗体
21.3.1 Web窗体组成
21.3.2 Web窗体的事件响应
21.4 ASP.NET服务器控件
21.4.1 HTML服务器控件
21.4.2 Web服务器控件
21.4.3 验证控件
21.4.4 Web用户控件和自定义控件