内容简介
第一篇C#语言准备篇
第1章C#概述
1.1什么是C#语言
1.1.1 C#的产生
1.1.2 C#的特点
1.2第1个C#控制台程序
1.2.1创建第1个“Hello World”控制台应用程序
1.2.2用记事本编写C
1.2.3调试C#程序
1.3第1个C# Windows应用程序
1.3.1创建第1个C# Windows应用程序
1.3.2执行及查看结果
1.4了解.NET
1.4.1 .NET产生及发展过程
1.4.2 .NET开发平台
1.5 .NET 4.0新特性概述
1.5.1并行计算
1.5.2诊断和性能
1.5.3动态语言运行时
1.5.4协变、逆变和复杂结构
1.6 C#与.NET 4.0的关系
1.6.1 C#在.NET中的作用
1.6.2 C#.NET的发展趋势
1.7小结
1.8习题
第2章Visual Studio 2010开发环境简介
2.1 Visual Studio 2010开发环境概述
2.1.1 Visual Studio 2010开发环境发展过程
2.1.2 Visual Studio 2010开发环境的特点
2.2构建Visual Studio 2010开发环境
2.2.1安装Visual Studio 2010开发环境
2.2.2安装Microsoft Help Library帮助文档
2.3操作Visual Studio 2010开发环境
2.3.1启动Visual Studio 2010开发环境
2.3.2认识Visual Studio 2010开发环境窗口
2.3.3退出Visual Studio 2010开发环境
2.4 Visual Studio开发环境窗口
2.4.1解决方案资源管理器窗口
2.4.2书签窗口
2.4.3代码定义窗口
2.4.4工具箱窗口
2.4.5类视图窗口
2.4.6属性窗口
2.5调试C#程序
2.5.1逐语句调试与逐过程调试
2.5.2新建断点与切换断点
2.5.3查看变量的值
2.5.4使用调试工具栏
2.6自定义开发环境
2.6.1自定义工具栏与命令菜单
2.6.2设置代码编辑器格式
2.7 Visual Studio 2010开发环境新特性
2.7.1 WPF重构界面
2.7.2快速搜索与多显示器显示
2.7.3查看架构体系
2.7.4第三方测试
2.8小结
2.9习题
第二篇C#语言基础篇
第3章 数据类型和运算符
3.1数据类型
3.1.1数据
3.1.2 C#的数据类型
3.2常量与变量
3.2.1常量
3.2.2变量
3.3 C#常用数据类型
3.3.1 bool型数据
3.3.2 sbyte型与byte型数据
3.3.3 short型与ushoRT型数据
3.3.4 int型与uint型数据
3.3.5 long型与ulong型数据
3.3.6 char型数据
3.3.7 float型与 doule型数据
3.3.8 decimal型数据
3.3.9 C# 4.0新特性——dynamic型数据
3.4运算符
3.4.1赋值运算符
3.4.2算术运算符
3.4.3关系运算符
3.4.4逻辑运算符
3.4.5位运算符
3.4.6其他运算符
3.4.7运算符的优先级
3.5表达式
3.5.1赋值表达式
3.5.2算术表达式
3.5.3关系表达式
3.5.4逻辑表达式
3.5.5 C# 3.0特性——Lambda表达式
3.6小结
3.7习题
第4章 程序控制结构
4.1顺序结构语句
4.1.1声明语句
4.1.2赋值语句
4.1.3注释语句
4.1.4典型示例——使用顺序语句求矩形面积和方程的根
4.2选择结构语句
4.2.1 if…else语句
4.2.2嵌套的if语句
4.2.3 switch语句
4.2.4典型示例——使用选择语句判断闰年和计算运费
4.3循环结构语句
4.3.1 for循环语句
4.3.2 while循环语句
4.3.3 do…while循环语句
4.3.4 break语句和continue语句
4.3.5嵌套的循环语句
4.3.6 3个循环的比较
4.3.7典型示例——使用循环求素数和数列
4.4小结
4.5习题
第5章 数组
5.1理解数组
5.1.1数组概述
5.1.2数组的分类
5.2使用数组
5.2.1一维数组
5.2.2多维数组
5.2.3交叉数组
5.3操作数组
5.3.1访问数组元素
5.3.2遍历数组元素
5.3.3数组排序
5.3.4查找数组元素
5.3.5复制数组
5.3.6初始化数组中的元素
5.3.7反转数组
5.3.8获取数组指定维索引的上下限
5.4小结
5.5习题
第6章 方法
6.1 理解方法
6.1.1方法概述
6.1.2方法的分类
6.2使用方法
6.2.1定义方法
6.2.2调用方法
6.2.3使用匿名方法
6.3使用参数传递
6.3.1理解形式参数与实际参数
6.3.2使用值类型传递参数
6.3.3使用引用类型传递参数
6.3.4使用输出参数
6.3.5使用数组传递参数
6.3.6 C# 4.0新特性——使用可选参数
6.3.7 C# 4.0新特性——使用命名参数
6.4小结
6.5习题
第7章 复杂数据类型
7.1字符串类型
7.1.1字符串概述
7.1.2声明和初始化字符串
7.1.3字符串转义序列
7.1.4原义字符串
7.1.5 null字符串和空符串
7.1.6使用StringBuilder快速创建字符串
7.1.7格式化字符串
7.1.8提取子字符串
7.1.9访问字符串中的字符
7.1.10比较字符串
7.1.11移除字符串
7.1.12拆分字符串
7.1.13替换字符串
7.1.14填充字符串与更改字符串大小写
7.2结构类型
7.2.1定义结构类型
7.2.2操作结构类型
7.3枚举类型
7.3.1定义枚举类型
7.3.2操作枚举类型
7.4委托类型
7.4.1定义委托类型
7.4.2操作委托类型
7.5装箱与拆箱
7.5.1装箱与拆箱概述
7.5.2装箱与拆箱操作
7.6类型转换
7.6.1显式类型转换
7.6.2隐式类型转换
7.7小结
7.8习题
第8章 异常处理
8.1异常处理概述
8.2异常处理语句
8.2.1 try…catch语句
8.2.2 throw语句
8.2.3 try…catch…finally语句
8.3使用异常
8.3.1创建和引发异常
8.3.2异常处理
8.4小结
8.5习题
第9章 文件与文件夹
9.1文件与数据流概述
9.1.1什么是文件
9.1.2什么是数据流
9.2操作文件与数据流
9.2.1创建文件
9.2.2复制文件
9.2.3移动文件
9.2.4删除文件
9.2.5写入和读取文本文件
9.2.6写入和读取二进制文件
9.2.7获取文件信息
9.3操作文件夹
9.3.1创建文件夹
9.3.2移动文件夹
9.3.3删除文件夹
9.4小结
9.5习题
第三篇C#用户界面设计篇
第10章 窗体
10.1窗体概述
10.1.1窗体及相关概念
10.1.2窗体的工作原理
10.2认识窗体
10.2.1窗体的属性
10.2.2窗体的方法
10.2.3窗体的事件
10.3操作窗体
10.3.1添加窗体
10.3.2删除窗体
10.3.3显示模式窗体与非模式窗体
10.4操作MDI窗体
10.4.1 MDI窗体概述
10.4.2创建MDI父窗体
10.4.3创建M DI子窗体
10.4.4获取当前活动子窗体
10.4.5排列M DI子窗体
10.5小结
10.6习题
第11章 控件
11.1认识工具箱
11.1.1工具箱介绍
11.1.2添加工具箱中的控件
11.1.3删除工具箱中的控件
11.2操作控件
11.2.1添加控件
11.2.2删除控件
11.2.3对齐控件
11.2.4锁定控件
11.3常见控件
11.3.1标签控件
11.3.2按钮控件
11.3.3文本框控件
11.3.4复选框控件
11.3.5单选按钮控件
11.3.6列表框控件
11.3.7下拉组合框控件
11.3.8分组框控件
11.3.9图像控件
11.4小结
11.5习题
第12章 对话框
12.1对话框概述
12.2常见对话框
12.2.1消息对话框
12.2.2打开文件对话框
12.2.3字体对话框
12.2.4颜色对话框
12.2.5浏览文件夹对话框
12.2.6存储文件对话框
12.3小结
12.4习题
第四篇C#面向对象篇
第13章 面向对象程序设计
13.1认识对象
13.1.1对象
13.1.2对象的属性
13.1.3对象的行为
13.2面向对象程序设计的特点
13.2.1继承性
13.2.2封装性
13.2.3多态性
13.3面向对象程序设计的方法
13.3.1面向对象的分析
13.3.2面向对象的设计
13.4小结
13.5习题
第14章类
14.1类的定义
14.1.1类的声明
14.1.2类的成员
14.1.3构造函数与析构函数
14.1.4静态类
14.1.5 this关键字
14.1.6订阅事件与取消事件
14.2分部类
14.2.1分部类概述
14.2.2使用分部类
14.3嵌套类型与匿名类型
14.3.1嵌套类型
14.3.2匿名类型
14.4使用类的继承
14.4.1类的继承概述
14.4.2使用类的继承
14.5类的多态
14.5.1类的多态性机制
14.5.2使用类的多态
14.6小结
14.7习题
第15章 接口、抽象类和密封类
15.1接口
15.1.1声明接口
15.1.2显式实现接口
15.2抽象类
15.2.1声明抽象类
15.2.2声明抽象方法
15.2.3区别抽象类与接口
15.3密封类
15.3.1声明密封类
15.3.2声明密封方法
15.4小结
15.5习题
第五篇C#高级应用篇
第16章 线程
16.1线程概述
16.1.1认识线程
16.1.2线程中常用的属性和方法
16.2操作线程
16.2.1创建线程
16.2.2启动线程与终止线程
16.2.3线程休眠与继续线程
16.2.4线程同步
16.2.5线程优先级
16.3小结
16.4习题
第17章 集合
17.1集合概述
17.2使用集合
17.2.1定义集合
17.2.2选择集合
17.3常用集合
17.3.1队列
17.3.2堆栈
17.3.3数组列表
17.3.4字符串集合
17.4小结
17.5习题
第18章 泛型
18.1泛型概述
18.2使用泛型
18.2.1定义泛型类
18.2.2定义泛型接口
18.2.3定义泛型方法
18.2.4定义泛型委托
18.2.5 C# 4.0新特性——协变与逆变
18.3小结
18.4习题
第19章 数据库编程
19.1数据库编程概述
19.1.1数据库概述
19.1.2 SQL概述
19.2使用ADO.NET
19.2.1.ADONET概述
19.2.2使用Connection对象连接数据库
19.2.3使用Command对象执行SQL语句
19.2.4使用DataReader对象读取数据
19.2.5使用DataAdapter对象读取数据
19.2.6使用DataSet对象
19.2.7使用DataGridView控件显示数据
19.3小结
19.4习题
第20章XML文档
20.1 XML概述
20.1.1 XML元素
20.1.2声明XML
20.1.3 XML文档结构
20.1.4 XML命名空间
20.2操作XML文档
20.2.1打开XML文档
20.2.2显示XM文档节点
20.2.3修改XML节点
20.2.4新建XML节点
20.2.5删除XML节点
20.3小结
20.4习题
第六篇C#综合实例篇
第21章 人事管理系统
21.1需求分析
21.1.1问题描述
21.1.2当前系统模型分析
21.2功能分析
21.2.1添加员工信息
21.2.2删除员工信息
21.2.3修改员工信息
21.2.4查询员工信息
21.2.5统计性别信息
21.2.6统计工龄信息
21.3数据库设计
21.3.1设计数据库模型
21.3.2设计员工信息表
21.4设计窗体及代码
21.4.1准备工作
21.4.2设计人事管理系统主窗体
21.4.3设计添加员工信息窗体
21.4.4设计删除员工信息窗体
21.4.5设计修改员工信息窗体
21.4.6设计查询员工信息窗体
21.4.7设计统计工龄窗体
21.5小结
第22章 常见面试题目分析
22.1常见知识问答题
面试题1定义接口成员
面试题2区分关键字ref和out
面试题3区分类成员的访问权限
面试题4 C#实现多重继承
面试题5区分重载与覆写
面试题6区分接口与抽象类
面试题7区分关键字const和readonly
面试题8区分String类与String-Builder类
面试题9实现密封类
面试题10比较null与空字符串
面试题11访问类成员
面试题12网络传输可靠性
面试题13区别关键字using和new
面试题14使用堆栈运算
面试题15 按覆盖范围分类网络
22.2代码分析题
面试题16覆写方法
面试题17识别变量的长度
面试题18区分类的静态构造函数与静态成员
面试题19使用重写方法
面试题20分析死锁的产生原因
面试题21使用数据库连接池
面试题22操作XML文件
面试题23使用运行时多态
面试题24使用四舍五入
面试题25使用参数传递
面试题26使用new关键字屏蔽基类成员
面试题27使用override覆写方法
面试题28使用位运算
22.3程序设计题
面试题29使用递归
面试题30订阅事件
22.4逻辑测试题
面试题31使用容器取水
面试题32切蛋糕
面试题33十层楼挑钻石
面试题34小鸟回程
面试题35取红球
面试题36数黑帽