C#程序设计及项目实践(第二版) / 21世纪高等学校计算机教育实用规划教材
¥49.80定价
作者: 于世东、邵中主编等
出版时间:2017年5月
出版社:清华大学出版社
- 清华大学出版社
- 9787302465577
- 2-1
- 193998
- 16开
- 2017年5月
- 工学
- 软件工程
- TP311.1
- 计算机
- 本专科、高职高专
内容简介
本书系统地讲解了C#语言的基础语法和高级应用。每一章的内容从一个问题开始,按照”提出问题”→”分析问题”→”明确目标”→”学习知识”→”解决问题”→”总结提高”的思路进行编写。每一部分的知识点都给出了应用案例,并对案例进行了剖析,有利于读者自我学习。综合案例采用三层架构开发的Web应用程序,对开发工具、技术和开发过程进行了全面讲解,读者学习后可以举一反三。本书内容包括: C#语法基础; 面向对象程序设计、泛型; Windows程序设计; 文件操作、数据库操作; 异常处理、网络编程和多线程; 综合开发案例全程讲解; 课后习题; 实训指导。
本书可作为高等院校C#程序设计相关课程的教材,也可供广大.NET开发人员学习和参考。
本书可作为高等院校C#程序设计相关课程的教材,也可供广大.NET开发人员学习和参考。
目录
目录
第1章概述
1.1Microsoft .NET技术
1.1.1Microsoft .NET概述
1.1.2Microsoft .NET框架
1.2C#语言简介
1.2.1C#的起源
1.2.2C#语言的特点
1.3Visual Studio 2012开发环境
1.3.1安装Visual Studio 2012
1.3.2熟悉Visual Studio 2012开发环境
1.4第一个C#程序
1.5程序的调试与规范
1.5.1断点设置与程序调试
1.5.2C#编写命名建议
小结
课后练习
第2章C#编程基础
2.0问题导入
2.1数据类型
2.1.1值类型和引用类型概述
2.1.2值类型
2.1.3引用类型
2.2常量与变量
2.2.1变量
2.2.2常量
2.2.3隐式类型的局部变量
2.3类型转换
2.3.1隐式转换
2.3.2显式转换
2.3.3使用Convert类转换
2.3.4装箱和拆箱
2.3.5数值和字符串之间的转换
2.4操作符和表达式
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.5流程控制语句
2.5.1分支语句
2.5.2循环语句
2.5.3跳转语句
2.6数组和枚举
2.6.1数组的定义和使用
2.6.2Array类
2.6.3匿名数组
2.6.4枚举的定义和使用
2.7字符串
2.7.1字符串的创建与表示形式
2.7.2字符串比较
2.7.3字符串查找
2.7.4求子字符串
2.7.5字符串的插入、删除与替换
2.7.6移除首尾指定的字符
2.7.7字符串的合并与拆分
2.7.8字符串中字母的大小写转换
2.7.9String与StringBuilder的区别
2.8问题解决
小结
课后练习
第3章面向对象编程基础
3.0问题导入
3.1类的定义
3.1.1类的声明与成员组织
3.1.2字段和局部变量
3.1.3静态成员和实例成员
3.1.4访问修饰符
3.2构造函数和析构函数
3.2.1构造函数
3.2.2析构函数
3.3类的方法
3.3.1方法的声明
3.3.2方法中的参数传递
3.3.3方法重载
3.4属性与索引器
3.4.1属性
3.4.2索引器
3.5结构
3.5.1结构的定义及特点
3.5.2结构的使用
3.6操作符重载
3.7问题解决
小结
课后练习
第4章面向对象高级编程
4.0问题导入
4.1继承
4.1.1基类和派生类
4.1.2继承过程中的构造函数和析构函数
4.2多态
4.2.1成员的虚拟和重写
4.2.2成员隐藏
4.3抽象类
4.4密封类
4.5接口
4.5.1接口的声明与实现
4.5.2显式方式实现接口
4.6委托与事件
4.6.1委托
4.6.2事件
4.7泛型
4.7.1泛型的定义和使用
4.7.2可空类型的泛型
4.8泛型集合
4.8.1列表
4.8.2字典
4.9问题解决
小结
课后练习
第5章Windows程序设计
5.0问题导入
5.1Windows窗体
5.1.1Windows窗体简介
5.1.2创建简单的Windows Form
5.2窗体控件
5.2.1文本输入类控件
5.2.2选择类控件
5.2.3列表控件
5.2.4容器
5.2.5菜单、状态栏和工具栏
5.2.6对话框
5.2.7其他常用控件
5.3多文档界面
5.3.1设置MDI窗体
5.3.2排列子窗体
5.4GDI 编程
5.4.1创建Graphics对象
5.4.2创建Pen对象
5.4.3创建Brush对象
5.4.4绘制基本图形
5.5问题解决
小结
课后练习
第6章目录与文件管理
6.0问题导入
6.1目录管理
6.1.1DirectoryInfo类
6.1.2Directory类
6.1.3Path类
6.2文件管理
6.2.1FileInfo类
6.2.2File类
6.3驱动器管理
6.4文件的读写
6.4.1文件编码
6.4.2Stream类
6.4.3StreamReader和StreamWriter类
6.4.4BinaryReader和BinaryWriter类
6.5问题解决
小结
课后练习
第7章数据库与ADO.NET
7.0问题导入
7.1ADO.NET简介
7.2数据源连接
7.2.1操作数据库的简单示例
7.2.2通过向导的方式建立数据库连接
7.2.3通过编程的方式建立数据库连接
7.2.4连接字符串
7.2.5连接池的使用
7.3Command对象与DataReader对象
7.3.1Command对象与DataReader对象简介
7.3.2建立SqlCommand对象
7.3.3使用SqlCommand执行SQL语句
7.4DataAdapter对象与DataSet对象
7.4.1SqlDataAdapter对象
7.4.2DataTable对象
7.4.3DataSet对象
7.5存储过程
7.6综合实例
7.7问题解决
小结
课后练习
第8章LINQ语言集成查询
8.0问题导入
8.1LINQ概述
8.2LINQ预备知识
8.2.1对象和集合初始化器
8.2.2Lambda表达式
8.2.3扩展方法
8.3LINQ查询
8.3.1查询步骤
8.3.2查询方法定义查询
8.3.3查询表达式定义查询
8.4LINQ to SQL
8.4.1创建对象映射模型
8.4.2设定DataContext
8.4.3LINQ to SQL查询和操作
小结
课后练习
第9章异常处理
9.0问题导入
9.1错误和异常
9.2C#中的异常处理结构
9.2.1使用trycatch语句捕捉异常
9.2.2使用trycatchfinally语句捕捉异常
9.2.3使用throw语句抛出异常
9.3C#中异常的层次结构
9.3.1异常传播
9.3.2Exception类和常见异常类型
9.4使用异常的原则和技巧
9.5问题解决
小结
课后练习
第10章网络编程
10.0问题导入
10.1网络编程基础
10.2主机的定义及管理
10.2.1IPAddress类
10.2.2IPEndPoint类
10.2.3Dns类
10.3Socket网络通信
10.3.1Socket连接原理
10.3.2Socket数据处理模式
10.3.3Socket类
10.4TcpClient类和TcpListener类
10.4.1TcpClient类
10.4.2TcpListener类
10.4.3TcpListener类和TcpClient类应用
10.5UdpClient类
小结
课后练习
第11章进程和线程技术
11.0问题导入
11.1进程与线程
11.2进程
11.3线程概述
11.3.1线程的定义和分类
11.3.2多线程的使用
11.3.3线程的生命周期和状态
11.3.4线程对象和属性
11.4线程调度
11.4.1创建线程
11.4.2线程休眠
11.4.3终止线程
11.5线程优先级
11.6线程同步
11.6.1线程同步机制
11.6.2使用lock关键字实现线程同步
11.6.3使用Monitor驱动对象实现线程同步
11.6.4使用Mutex类实现线程同步
11.7问题解决
小结
课后练习
第12章综合实例——图书馆管理系统
12.1开发背景
12.2需求分析
12.3系统设计
12.3.1系统目标
12.3.2业务流程图
12.3.3系统功能结构
12.3.4系统预览
12.3.5数据库设计
12.4系统架构的设计与实现
12.5数据访问层的设计与实现
12.5.1数据实体类的设计与实现
12.5.2数据访问类的设计与实现
12.5.3其他问题说明
12.6业务逻辑层的设计与实现
12.7呈现层的设计与实现
12.7.1母版页的设计
12.7.2系统首页的设计
12.7.3典型模块的设计
12.8发布和部署应用
小结
第13章实训指导
13.1实训1熟悉C#开发环境
13.1.1实训目的和要求
13.1.2题目1如何运行和中断程序
13.1.3题目2模拟邮箱注册
13.1.4题目3创建和调用C#类库程序
13.2实训2C#数据类型与数组
13.2.1实训目的和要求
13.2.2题目1定义用户结构体
13.2.3题目2数组的统计运算
13.2.4题目3使用DateTime结构
13.3实训3表达式和流程控制
13.3.1实训目的和要求
13.3.2题目1计算购物金额
13.3.3题目2计算最小公倍数和最大公约数
13.3.4题目3冒泡排序算法的实现
13.4实训4类和结构
13.4.1实训目的和要求
13.4.2题目1圆类
13.4.3题目2用户注册登录模型
13.4.4题目3按销量对图书排序
13.5实训5继承和多态
13.5.1实训目的和要求
13.5.2题目1顾客类的派生
13.5.3题目2汽车类的派生与多态
13.5.4题目3管理学生信息
13.6实训6接口和泛型
13.6.1实训目的和要求
13.6.2题目1接口定义和实现
13.6.3题目2泛型方法
13.6.4题目3泛型集合
13.7实训7Windows应用程序
13.7.1实训目的和要求
13.7.2题目1计算器的设计
13.7.3题目2菜单设计
13.7.4题目3多文档界面设计
13.7.5题目4控件综合应用
13.8实训8GDI 编程
13.8.1实训目的和要求
13.8.2题目1基本图形绘制
13.8.3题目2绘制实体图形
13.8.4题目3绘制图形和文字
13.9实训9文件和流
13.9.1实训目的和要求
13.9.2题目1目录的管理
13.9.3题目2文件的管理
13.10实训10数据库应用
13.10.1实训目的和要求
13.10.2题目1数据库显示
13.10.3题目2数据库操作
13.10.4题目3学生信息的管理
13.11实训11异常处理
13.11.1实训目的和要求
13.11.2题目1处理运算溢出异常
13.11.3题目2自定义异常及处理
参考文献
第1章概述
1.1Microsoft .NET技术
1.1.1Microsoft .NET概述
1.1.2Microsoft .NET框架
1.2C#语言简介
1.2.1C#的起源
1.2.2C#语言的特点
1.3Visual Studio 2012开发环境
1.3.1安装Visual Studio 2012
1.3.2熟悉Visual Studio 2012开发环境
1.4第一个C#程序
1.5程序的调试与规范
1.5.1断点设置与程序调试
1.5.2C#编写命名建议
小结
课后练习
第2章C#编程基础
2.0问题导入
2.1数据类型
2.1.1值类型和引用类型概述
2.1.2值类型
2.1.3引用类型
2.2常量与变量
2.2.1变量
2.2.2常量
2.2.3隐式类型的局部变量
2.3类型转换
2.3.1隐式转换
2.3.2显式转换
2.3.3使用Convert类转换
2.3.4装箱和拆箱
2.3.5数值和字符串之间的转换
2.4操作符和表达式
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.5流程控制语句
2.5.1分支语句
2.5.2循环语句
2.5.3跳转语句
2.6数组和枚举
2.6.1数组的定义和使用
2.6.2Array类
2.6.3匿名数组
2.6.4枚举的定义和使用
2.7字符串
2.7.1字符串的创建与表示形式
2.7.2字符串比较
2.7.3字符串查找
2.7.4求子字符串
2.7.5字符串的插入、删除与替换
2.7.6移除首尾指定的字符
2.7.7字符串的合并与拆分
2.7.8字符串中字母的大小写转换
2.7.9String与StringBuilder的区别
2.8问题解决
小结
课后练习
第3章面向对象编程基础
3.0问题导入
3.1类的定义
3.1.1类的声明与成员组织
3.1.2字段和局部变量
3.1.3静态成员和实例成员
3.1.4访问修饰符
3.2构造函数和析构函数
3.2.1构造函数
3.2.2析构函数
3.3类的方法
3.3.1方法的声明
3.3.2方法中的参数传递
3.3.3方法重载
3.4属性与索引器
3.4.1属性
3.4.2索引器
3.5结构
3.5.1结构的定义及特点
3.5.2结构的使用
3.6操作符重载
3.7问题解决
小结
课后练习
第4章面向对象高级编程
4.0问题导入
4.1继承
4.1.1基类和派生类
4.1.2继承过程中的构造函数和析构函数
4.2多态
4.2.1成员的虚拟和重写
4.2.2成员隐藏
4.3抽象类
4.4密封类
4.5接口
4.5.1接口的声明与实现
4.5.2显式方式实现接口
4.6委托与事件
4.6.1委托
4.6.2事件
4.7泛型
4.7.1泛型的定义和使用
4.7.2可空类型的泛型
4.8泛型集合
4.8.1列表
4.8.2字典
4.9问题解决
小结
课后练习
第5章Windows程序设计
5.0问题导入
5.1Windows窗体
5.1.1Windows窗体简介
5.1.2创建简单的Windows Form
5.2窗体控件
5.2.1文本输入类控件
5.2.2选择类控件
5.2.3列表控件
5.2.4容器
5.2.5菜单、状态栏和工具栏
5.2.6对话框
5.2.7其他常用控件
5.3多文档界面
5.3.1设置MDI窗体
5.3.2排列子窗体
5.4GDI 编程
5.4.1创建Graphics对象
5.4.2创建Pen对象
5.4.3创建Brush对象
5.4.4绘制基本图形
5.5问题解决
小结
课后练习
第6章目录与文件管理
6.0问题导入
6.1目录管理
6.1.1DirectoryInfo类
6.1.2Directory类
6.1.3Path类
6.2文件管理
6.2.1FileInfo类
6.2.2File类
6.3驱动器管理
6.4文件的读写
6.4.1文件编码
6.4.2Stream类
6.4.3StreamReader和StreamWriter类
6.4.4BinaryReader和BinaryWriter类
6.5问题解决
小结
课后练习
第7章数据库与ADO.NET
7.0问题导入
7.1ADO.NET简介
7.2数据源连接
7.2.1操作数据库的简单示例
7.2.2通过向导的方式建立数据库连接
7.2.3通过编程的方式建立数据库连接
7.2.4连接字符串
7.2.5连接池的使用
7.3Command对象与DataReader对象
7.3.1Command对象与DataReader对象简介
7.3.2建立SqlCommand对象
7.3.3使用SqlCommand执行SQL语句
7.4DataAdapter对象与DataSet对象
7.4.1SqlDataAdapter对象
7.4.2DataTable对象
7.4.3DataSet对象
7.5存储过程
7.6综合实例
7.7问题解决
小结
课后练习
第8章LINQ语言集成查询
8.0问题导入
8.1LINQ概述
8.2LINQ预备知识
8.2.1对象和集合初始化器
8.2.2Lambda表达式
8.2.3扩展方法
8.3LINQ查询
8.3.1查询步骤
8.3.2查询方法定义查询
8.3.3查询表达式定义查询
8.4LINQ to SQL
8.4.1创建对象映射模型
8.4.2设定DataContext
8.4.3LINQ to SQL查询和操作
小结
课后练习
第9章异常处理
9.0问题导入
9.1错误和异常
9.2C#中的异常处理结构
9.2.1使用trycatch语句捕捉异常
9.2.2使用trycatchfinally语句捕捉异常
9.2.3使用throw语句抛出异常
9.3C#中异常的层次结构
9.3.1异常传播
9.3.2Exception类和常见异常类型
9.4使用异常的原则和技巧
9.5问题解决
小结
课后练习
第10章网络编程
10.0问题导入
10.1网络编程基础
10.2主机的定义及管理
10.2.1IPAddress类
10.2.2IPEndPoint类
10.2.3Dns类
10.3Socket网络通信
10.3.1Socket连接原理
10.3.2Socket数据处理模式
10.3.3Socket类
10.4TcpClient类和TcpListener类
10.4.1TcpClient类
10.4.2TcpListener类
10.4.3TcpListener类和TcpClient类应用
10.5UdpClient类
小结
课后练习
第11章进程和线程技术
11.0问题导入
11.1进程与线程
11.2进程
11.3线程概述
11.3.1线程的定义和分类
11.3.2多线程的使用
11.3.3线程的生命周期和状态
11.3.4线程对象和属性
11.4线程调度
11.4.1创建线程
11.4.2线程休眠
11.4.3终止线程
11.5线程优先级
11.6线程同步
11.6.1线程同步机制
11.6.2使用lock关键字实现线程同步
11.6.3使用Monitor驱动对象实现线程同步
11.6.4使用Mutex类实现线程同步
11.7问题解决
小结
课后练习
第12章综合实例——图书馆管理系统
12.1开发背景
12.2需求分析
12.3系统设计
12.3.1系统目标
12.3.2业务流程图
12.3.3系统功能结构
12.3.4系统预览
12.3.5数据库设计
12.4系统架构的设计与实现
12.5数据访问层的设计与实现
12.5.1数据实体类的设计与实现
12.5.2数据访问类的设计与实现
12.5.3其他问题说明
12.6业务逻辑层的设计与实现
12.7呈现层的设计与实现
12.7.1母版页的设计
12.7.2系统首页的设计
12.7.3典型模块的设计
12.8发布和部署应用
小结
第13章实训指导
13.1实训1熟悉C#开发环境
13.1.1实训目的和要求
13.1.2题目1如何运行和中断程序
13.1.3题目2模拟邮箱注册
13.1.4题目3创建和调用C#类库程序
13.2实训2C#数据类型与数组
13.2.1实训目的和要求
13.2.2题目1定义用户结构体
13.2.3题目2数组的统计运算
13.2.4题目3使用DateTime结构
13.3实训3表达式和流程控制
13.3.1实训目的和要求
13.3.2题目1计算购物金额
13.3.3题目2计算最小公倍数和最大公约数
13.3.4题目3冒泡排序算法的实现
13.4实训4类和结构
13.4.1实训目的和要求
13.4.2题目1圆类
13.4.3题目2用户注册登录模型
13.4.4题目3按销量对图书排序
13.5实训5继承和多态
13.5.1实训目的和要求
13.5.2题目1顾客类的派生
13.5.3题目2汽车类的派生与多态
13.5.4题目3管理学生信息
13.6实训6接口和泛型
13.6.1实训目的和要求
13.6.2题目1接口定义和实现
13.6.3题目2泛型方法
13.6.4题目3泛型集合
13.7实训7Windows应用程序
13.7.1实训目的和要求
13.7.2题目1计算器的设计
13.7.3题目2菜单设计
13.7.4题目3多文档界面设计
13.7.5题目4控件综合应用
13.8实训8GDI 编程
13.8.1实训目的和要求
13.8.2题目1基本图形绘制
13.8.3题目2绘制实体图形
13.8.4题目3绘制图形和文字
13.9实训9文件和流
13.9.1实训目的和要求
13.9.2题目1目录的管理
13.9.3题目2文件的管理
13.10实训10数据库应用
13.10.1实训目的和要求
13.10.2题目1数据库显示
13.10.3题目2数据库操作
13.10.4题目3学生信息的管理
13.11实训11异常处理
13.11.1实训目的和要求
13.11.2题目1处理运算溢出异常
13.11.3题目2自定义异常及处理
参考文献