第1章 c#概述
1.1什么是c#
1.2.net framework概述
1.2.1什么是.net平台
1.2.2什么是.net framework
1.2.3.net程序编译过程
1.2.4c#与.net framework
1.3配置visual c#开发环境和启动退出操作
1.3.1配置visual c#开发环境
1.3.2visual c#的启动
1.3.3visual c#的退出
1.4visual c#的集成开发环境
1.4.1visual c#菜单栏
1.4.2visual c#工具栏
1.4.3visual c#工具箱
1.4.4解决方案资源管理器
1.4.5属性窗口
1.4.6窗体设计器
1.4.7代码编辑窗口
1.4.8其他窗口
1.4.9帮助系统
1.5编辑器设置
练习题1
第2章 简单的c#程序设计
2.1创建第一个windows控制台应用程序
2.1.1控制台应用程序示例
2.1.2控制台应用程序项目的组成
2.1.3控制台应用程序中的基本元素
2.2创建第一个windows应用程序
2.2.1windows应用程序示例
2.2.2windows应用程序项目的组成
2.2.3windows应用程序中的基本元素
练习题2
第3章 c#程序设计基础
3.1标识符
3.2c#中数据类型
3.2.1值类型
3.2.2引用类型
3.3c#中的变量和常量
3.3.1变量
3.3.2值类型变量和引用类型变量的区别
3.3.3常量
3.4类型转换
3.4.1隐式转换
3.4.2显式转换
3.4.3装箱和拆箱
3.5结构类型和枚举类型
3.5.1结构类型
3.5.2枚举类型
3.6c#运算符和表达式
3.6.1算术运算符
3.6.2字符串运算符
3.6.3赋值运算符
3.6.4关系运算符
3.6.5逻辑运算符
3.6.6位运算符
3.6.7条件运算符
3.6.8其他运算符
3.6.9运算符的优先级
3.7c#中常用类和结构
3.7.1string类
3.7.2math类
3.7.3convert类
3.7.4datetime结构
练习题3
第4章 c#控制语句
4.1选择控制语句
4.1.1if语句
4.1.2if…else语句
4.1.3if…else if语句
4.1.4switch语句
4.2循环控制语句
4.2.1while语句
4.2.2do…while语句
4.2.3for语句
4.3跳转语句
4.3.1break语句
4.3.2continue语句
4.3.3goto语句
练习题4
第5章 数组和集合
5.1一维数组
5.1.1一维数组的定义
5.1.2一维数组的动态初始化
5.1.3一维数组的静态初始化
5.1.4访问一维数组中的元素
5.1.5一组数组的越界
5.2二维数组
5.2.1二维数组的定义
5.2.2二维数组的动态初始化
5.2.3二维数组的静态初始化
5.2.4访问二维数组中的元素
5.3交错数组
5.3.1交错数组的定义和初始化
5.3.2访问交错数组中的元素
5.4array类
5.4.1array类的属性和方法
5.4.2array类中方法的使用
5.5arraylist类
5.5.1arraylist类的对象的定义
5.5.2arraylist类的属性
5.5.3arraylist类的方法
5.6list[t]类
5.6.1list[t]类的对象的定义
5.6.2list[t]类的属性
5.6.3list[t]类的方法
练习题5
第6章 面向对象程序设计
6.1面向对象程序设计概述
6.1.1面向对象的基本概念
6.1.2面向对象的优点
6.2类
6.2.1类的声明
6.2.2类的成员
6.2.3分部类
6.2.4类和结构类型的差异
6.3对象
6.3.1定义类的对象
6.3.2访问对象的字段
6.3.3调用对象的方法
6.4构造函数和析构函数
6.4.1构造函数
6.4.2析构函数
6.5静态成员
6.5.1静态字段
6.5.2静态方法
6.6属性
6.6.1什么是属性
6.6.2属性声明及其使用
6.7方法
6.7.1什么是方法
6.7.2方法的定义
6.7.3方法的返回值
6.7.4方法的参数
6.7.5方法的重载
6.8嵌套类
6.8.1嵌套类的声明
6.8.2this关键字
6.8.3嵌套类和包含类的关系
6.9索引器
6.9.1什么是索引器
6.9.2声明索引器
6.9.3使用其他值进行索引
6.10委托
6.10.1什么是委托
6.10.2定义和使用委托
6.10.3委托对象封装多个方法
6.10.4使委托与匿名方法关联
6.11事件
6.11.1事件处理机制
6.11.2事件的创建和使用
6.12运算符重载
6.12.1运算符重载概述
6.12.2一元运算符重载
6.12.3二元运算符重载
6.13类对象的转换
6.13.1关键字is
6.13.2关键字as
6.14命名空间
6.14.1命名空间概述
6.14.2使用命名空间
练习题6
第7章 继承和接口设计
7.1继承
7.1.1什么是继承
7.1.2派生类的声明
7.1.3基类成员的可访问性
7.1.4按次序调用构造函数和析构函数
7.1.5使用sealed修饰符来禁止继承
7.2多态性
7.2.1隐藏基类方法
7.2.2重写
7.3抽象类
7.3.1抽象类的特性
7.3.2抽象方法
7.3.3抽象属性
7.4接口
7.4.1接口的特性
7.4.2接口的定义
7.4.3接口的成员
7.4.4接口的实现
7.4.5接口映射
7.4.6接口实现的继承
7.4.7重新实现接口
7.5接口在集合排序中的应用
7.5.1arraylist类的排序方法
7.5.2icomparable接口
7.5.3icomparer接口
练习题7
第8章 windows窗体应用程序设计
8.1窗体设计
8.1.1创建windows窗体应用程序的过程
8.1.2窗体类型
8.1.3窗体的常用属性
8.1.4窗体的常用事件
8.1.5窗体的常用方法
8.1.6多个窗体之间的调用
8.1.7窗体上各事件的引发顺序
8.1.8焦点与tab键次序
8.2常用控件的设计
8.2.1控件概述
8.2.2富文本框控件
8.2.3分组框控件
8.2.4面板控件
8.2.5复选框控件
8.2.6单选按钮控件
8.2.7图片框控件
8.2.8组合框控件
8.2.9列表框控件
8.2.10带复选框的列表框控件
8.2.11定时器控件
8.2.12滚动条控件
8.2.13月历控件
8.2.14日期/时间控件
8.2.15超链接标签控件
8.3多文档窗体
8.4窗体设计的事件机制
8.4.1什么是事件处理程序
8.4.2在windows窗体中创建事件处理程序
8.4.3在执行时为windows窗体创建事件处理程序
8.4.4将多个事件连接到windows窗体中的单个事件处理程序
练习题8
第9章 用户界面设计
9.1菜单设计
9.1.1菜单的基本结构
9.1.2创建下拉式菜单
9.1.3弹出式菜单设计
9.1.4为菜单项添加访问热键和快捷键
9.2通用对话框
9.2.1打开文件对话框
9.2.2保存文件对话框
9.2.3颜色对话框
9.2.4字体对话框
9.3图像列表框控件
9.3.1建立imagelist控件
9.3.2imagelist控件的属性
9.3.3images集合的属性和方法
9.4树形视图控件
9.4.1treeview控件概述
9.4.2建立treeview控件
9.4.3treeview控件的属性
9.4.4treeview控件的事件和方法
9.4.5nodes集合和treenode对象
9.4.6执行时treeview控件的基本操作
9.5列表视图控件
9.5.1listview控件概述
9.5.2建立listview控件
9.5.3listview控件的属性
9.5.4listview控件的事件和方法
9.5.5items集合和listviewitem对象
9.5.6columns集合和columnheader对象
9.5.7执行时listview控件的基本操作
9.6工具栏控件
9.6.1建立toolstrip控件
9.6.2toolstrip控件的属性
9.6.3items集合和toolstripbutton对象
9.7状态栏控件
9.7.1建立statusstrip控件
9.7.2statusstrip控件的属性
练习题9
第10章 图形设计
10.1绘图概述
10.1.1绘图的基本知识
10.1.2什么是gdi+
10.1.3graphics类
10.2绘图的基本步骤
10.3绘制图形
10.3.1绘制直线
10.3.2绘制矩形
10.3.3绘制多边形
10.3.4绘制圆和椭圆
10.3.5绘制弧线
10.3.6绘制饼形
10.3.7绘制非闭合曲线
10.3.8绘制闭合曲线
10.3.9绘制贝济埃曲线
10.4创建画图工具
10.4.1创建画笔
10.4.2创建笔刷
10.4.3创建字体
10.5绘制文本
练习题10
第11章 文件操作
11.1文件和system.io模型概述
11.1.1文件类型
11.1.2文件的属性
11.1.3文件访问方式
11.2system.io模型
11.2.1什么是system.io模型
11.2.2文件编码
11.2.3c#的文件流
11.3文件夹和文件操作
11.3.1文件夹操作
11.3.2文件操作
11.4filestream类
11.5文本文件的操作
11.5.1streamreader类
11.5.2streamwriter类
11.6二进制文件操作
11.6.1binarywriter类
11.6.2binaryreader类
11.6.3二进制文件的随机查找
11.7序列化和反序列化
11.7.1序列化
11.7.2反序列化
练习题11
第12章 错误调试和异常处理
12.1错误分类
12.1.1语法错误
12.1.2执行错误
12.1.3逻辑错误
12.2程序调试
12.2.1调试工具
12.2.2如何开始调试
12.2.3设置断点
12.2.4定位错误
12.2.5调试过程
12.2.6显示调试信息
12.2.7单步跟踪
12.3异常处理
12.3.1异常概述
12.3.2异常处理语句
12.3.3常用的异常类
练习题12
第13章 c#高级特性
13.1泛型
13.1.1什么是泛型
13.1.2泛型的声明和使用
13.2反射
13.2.1反射概述
13.2.2反射中常用的类
13.2.3反射的应用示例
13.3多线程程序设计
13.3.1多线程的概述
13.3.2线程命名空间
13.3.3thread类及其应用
13.3.4线程优先级和线程调度
13.3.5线程互斥
13.3.6线程同步
练习题13
第14章 ado.net数据库访问技术
14.1数据库概述
14.1.1关系数据库的基本结构
14.1.2结构化查询语言
14.2ado.net模型
14.2.1ado.net简介
14.2.2ado.net体系结构
14.2.3ado.net数据库的访问流程
14.3ado.net的数据访问对象
14.3.1oledbconnection对象
14.3.2oledbcommand对象
14.3.3oledbdatareader对象
14.3.4oledbdataadapter对象
14.4dataset对象
14.4.1dataset对象概述
14.4.2dataset对象的属性和方法
14.4.3tables集合和datatable对象
14.4.4columns集合和datacolumn对象
14.4.5rows集合和datarow对象
14.4.6relations集合和datarelation对象
14.5数据绑定
14.5.1数据绑定概述
14.5.2bindingnavigator控件
14.6dataview对象
14.6.1dataview对象概述
14.6.2dataview对象的列排序设置
14.6.3dataview对象的过滤条件设置
14.7datagridview控件
14.7.1创建datagridview对象
14.7.2datagridview对象的属性、方法和事件
14.7.3datagridview与dataview对象结合
14.7.4通过datagridview对象更新数据源
练习题14
第15章 xml及其应用
15.1xml概述
15.2xml语法规则
15.2.1xml文档中有关的术语
15.2.2xml文档的结构
15.2.3xml文档的语法规定
15.3xpath表达式
15.3.1路径匹配
15.3.2谓词
15.3.3属性匹配
15.3.4通配符
15.3.5xpath轴
15.4用.net framework类操作xml文档
15.4.1xml文档操作类
15.4.2xml文档的节点操作
15.5dataset和xml文档的相互转换
15.5.1将xml文档转换成dataset数据
15.5.2将dataset数据转换成xml文件
练习题15
第16章 web应用程序设计
16.1asp.net概述
16.1.1asp.net的发展历程
16.1.2asp.net网页的组件
16.1.3asp.net网页的执行方式
16.1.4asp.net页面的结构
16.2开发web应用程序的准备工作
16.2.1安装web服务器
16.2.2管理和配置服务器
16.3创建一个简单的web应用程序
16.4基本asp.net服务器控件
16.4.1服务器控件概述
16.4.2label、button和textbox控件
16.4.3dropdownlist控件
16.4.4checkbox、checkboxlist、radiobutton和radiobuttonlist控件
16.4.5数据验证控件
16.4.6链接控件
16.5高级asp.net服务器端控件
16.5.1accessdatasource控件
16.5.2gridview控件
16.5.3detailsview控件
练习题16
附录 部分练习题参考答案
参考文献