深入浅出C#程序设计 / 深入浅出系列规划教材
¥49.00定价
作者: 郭仁春主编、葛晓宇等
出版时间:2017年1月
出版社:清华大学出版社
- 清华大学出版社
- 9787302449690
- 1-1
- 116266
- 16开
- 2017年1月
- 工学
- 软件工程
- TP311.12
- 计算机
- 本专科、高职高专
内容简介
本书从语法讲起,由浅入深,层层深入,尽量用简洁的语言、少量的代码解释复杂的C#程序; 主要内容包括C#语法、面向对象编程、Windows编程、数据库、GDI 绘图、网络和线程等。本书适合作为高等院校本科生和研究生的教材。
目录
目录
第1章初识C#
1.1Visual Studio.NET简介
1.2.NET Framework简介
1.3C#简介
1.4Visual Studio .NET开发环境
第2章接触C#
2.1第一个C#程序
2.2关于控制台程序
2.3C#程序基本结构
2.3.1最简单的C#结构
2.3.2控制台基本输入和输出语句
2.4编程习惯
第3章C#语法
3.1变量与常量
3.1.1数值类型
3.1.2变量定义
3.1.3常量定义
3.1.4数据类型转换
3.2运算符
3.2.1算术运算符
3.2.2关系运算符
3.2.3逻辑运算符
3.2.4位运算符
3.2.5赋值运算符
3.2.6三元条件运算符
3.2.7运算符的优先级
3.3选择语句
3.3.1if语句
3.3.2switch语句
3.4循环
3.4.1while
3.4.2do while
3.4.3for
3.4.4foreach语句
3.4.5跳转语句
3.5异常
3.5.1try catch语句
3.5.2throw语句
第4章字符串、时间和简单数组
4.1字符串
4.1.1字符串的定义
4.1.2转义字符
4.1.3字符串的操作
4.1.4数值与字符串的相互转化
4.1.5占位符
4.1.6string.Format( )
4.1.7格式化字符串
4.1.8StringBuider
4.1.9字符串索引
4.2简单数组
4.2.1一维数组
4.2.2多维数组
4.2.3锯齿数组
4.2.4数组应用举例
4.3时间
4.3.1DateTime
4.3.2日期时间字符串的显示格式
4.3.3DateTime的计算
4.3.4TimeSpan
第5章面向对象编程
5.1面向对象
5.2类和对象
5.3封装、继承、多态
5.4程序结构
5.5名称空间
5.6部分类
5.7类的成员
5.7.1访问修饰符
5.7.2字段
5.7.3方法
5.7.4属性
5.8过程代码写在哪里
5.9方法重载
5.10构造函数
5.11析构函数
5.12this
5.13静态成员
5.14运算符重载
5.15引用类型与值类型
5.16装箱与拆箱
5.17函数的参数
5.18索引
5.19结构
5.20枚举
第6章继承与多态
6.1继承
6.2base关键字
6.3派生类的构造函数
6.4Object类
6.5多态
6.6隐藏方法new
6.7虚方法virtualoverride
6.8抽象类与抽象方法
6.9密封类和密封方法
6.10ToString()
6.11接口interface
第7章委托与事件
7.1委托定义
7.2委托参数
7.3多播委托
7.4匿名委托
7.5委托耦合
7.6关于事件
7.7发布订阅
7.8事件参数
7.9事件句柄EventHandler
7.10事件参数EventArgs
第8章泛型
8.1泛型概念
8.2泛型类
8.2.1定义泛型类
8.2.2泛型类的默认值default
8.2.3泛型约束
8.3泛型接口
8.4泛型结构
8.5泛型方法
第9章数组与集合
9.1对象数组
9.2Array类
9.2.1Array数组创建
9.2.2Array数组复制
9.2.3Array数组排序
9.3元组
9.4列表
9.4.1ArrayList
9.4.2List
9.5队列
9.6栈
9.7链表
9.8有序列表
9.9字典
9.10有序字典
9.11Lookup类
9.12集
9.13可观察集合
9.14位数组
9.14.1BitArray
9.14.2BitVector32
第10章Windows窗体
10.1第一个窗体
10.2第一个按钮
10.3多个窗体
10.4认识窗体类
10.4.1三个文件
10.4.2Form1.cs
10.4.3Form1.Designer.cs
10.5简易计算器
10.6窗体和控件的属性
10.6.1大小和位置
10.6.2控件的停泊与锚点
10.6.3”捕捉按钮”小游戏
10.6.4颜色设置
10.7鼠标键盘事件
10.7.1鼠标事件
10.7.2键盘事件
10.7.3两个特殊的键盘事件
10.8事件的一些问题
10.9多文档界面
10.10窗体的状态
10.11窗体事件的执行顺序
10.12两个窗体之间传递数据
第11章Windows控件
11.1Windows工具箱
11.2公共控件
11.2.1RadioButton
11.2.2CheckBox
11.2.3ListBox
11.2.4ComboBox
11.2.5TreeView
11.2.6PictureBox控件
11.3菜单和工具栏
11.3.1MenuStrip
11.3.2ToolStrip
11.3.3ContextMenuStrip
11.4容器控件
11.4.1FlowLayoutPanel
11.4.2TableLayoutPanel
11.4.3SplitContainer
11.4.4TabControl
11.5对话框
11.5.1ColorDialog和FontDialog
11.5.2FolderBrowserDialog、OpenFileDialog和SaveFileDialog
第12章文件操作
12.1Directory和DirectoryInfo
12.1.1Directory
12.1.2DirectoryInfo
12.2File和FileInfo
12.2.1File
12.2.2FileInfo
12.3Path和DriveInfo
12.3.1Path
12.3.2相对路径
12.3.3DriveInfo
12.4文件读写
12.4.1File读文件
12.4.2写入文件
12.5流
12.5.1读写二进制文件
12.5.2读写文本文件
12.6资源管理器
第13章数据库
13.1C#与数据库的关系
13.2SQL语言
13.3ADO.NET
13.4C#调用Access数据库
13.4.1OleDbConnection
13.4.2OleDbCommand
13.4.3OleDbDataReader
13.4.4OleDbDataAdapter
13.5DataTable
13.5.1DataTable的定义
13.5.2DataColumn
13.5.3DataRow
13.5.4DataTable提取数据库数据
13.5.5编辑DataTable中的数据
13.5.6DataRow的状态
13.5.7DataRow的版本
13.6DataView
13.7DataSet
13.7.1DatSet与DataTable
13.7.2DataSet关系
13.7.3DataSet约束
13.8DataGridView
13.8.1行和列
13.8.2单元格
13.8.3行宽和列宽
13.8.4冻结
13.8.5排序
13.8.6隐藏
13.8.7列包含控件
13.8.8虚拟模式
13.9服务器资源管理器
13.10BindingSource
13.10.1BindingSource的简单应用
13.10.2BindingSource的定位
13.10.3BindingSource的排序过滤与查找
13.10.4Binding类
13.11可视化数据控件
13.11.1DataSet控件
13.11.2BindingNavigator控件
13.12窗体控件与数据库
13.12.1ComboBox
13.12.2窗体控件与DataSet
13.12.3控件的数据库向导
13.13综合实例
13.13.1创建数据库
13.13.2创建主窗体
13.13.3创建操作数据库的公共类
13.13.4创建图书类别窗体
13.13.5创建增加图书窗体
13.13.6创建编辑图书窗体
13.13.7创建图书查询窗体
13.14C#调用SQL Server数据库
13.14.1关于SQL Server Express数据库
13.14.2创建SQL Server Express数据库
13.14.3C#调用SQL Server Express数据库
第14章Lambda表达式与扩展方法
14.1代码简化的历程
14.1.1代码简化1
14.1.2代码简化2
14.1.3代码简化3
14.1.4代码简化4
14.1.5代码简化5
14.1.6代码简化6
14.2Lambda表达式
14.3Func,Action和Predicate
14.3.1Func
14.3.2Action
14.3.3Predicate
14.4委托在List中的简单应用
14.5扩展方法
第15章Linq
15.1准备数据
15.2投影和筛选
15.3排序
15.4分组
15.5复合from
15.6延迟执行与立即执行
15.6.1延迟执行
15.6.2立即执行
第16章GDI 绘图
16.1GDI与GDI
16.2绘制简单图形
16.3GDI 绘图原理
16.4Color
16.4.1RGB
16.4.2ARGB
16.4.3网络安全色
16.4.4Color结构
16.5Pen和Brush
16.5.1Pen
16.5.2Brush
16.6Graphics
16.7Point、Size和Rectangle
16.7.1Point和PointF
16.7.2Size和SizeF
16.7.3Rectangle和RectangleF
16.8绘制图形
16.9绘制文本
16.10绘制图片
16.11图形变换
16.12屏幕刷新问题
16.13Invalidate
16.14橡皮筋
16.15Image和BitMap
16.16ColorMatrix
16.17绘制函数曲线
16.17.1简单函数曲线
16.17.2动态曲线
16.18不使用OnPaint、Invalidate的方法
第17章网络编程
17.1网络基本概念
17.1.1TCP/IP
17.1.2Socket(套接字)
17.1.3其他相关概念
17.1.4客户与服务器
17.2Socket程序
17.3TCP程序
17.4UDP程序
17.4.1UDP客户端
17.4.2UDP服务端
17.5异步通信
17.5.1同步和异步
17.5.2Socket异步连接
17.5.3Socket异步连接
17.6聊天程序
17.6.1客户端
17.6.2服务端
第18章线程
18.1进程与线程
18.2异步委托
18.2.1同步委托
18.2.2异步委托
18.2.3IAsyncResult
18.2.4异步回调AsyncCallback
18.2.5异步回调的Lambda表达式
18.3线程
18.3.1Thread
18.3.2给线程命名
18.3.3给线程传递参数
18.3.4线程的控制
18.3.5优先级
18.4线程池
18.5争用
18.6Windows窗体的线程问题
18.6.1Timer控件的问题
18.6.2System.Threading.Timer类
18.6.3System.Timers类
18.7BackgroundWorker
18.7.1BackgroundWorker控件
18.7.2BackgroundWorker类
18.8窗体与线程交换数据的一种简易方法
第19章关于变量命名
后记
第1章初识C#
1.1Visual Studio.NET简介
1.2.NET Framework简介
1.3C#简介
1.4Visual Studio .NET开发环境
第2章接触C#
2.1第一个C#程序
2.2关于控制台程序
2.3C#程序基本结构
2.3.1最简单的C#结构
2.3.2控制台基本输入和输出语句
2.4编程习惯
第3章C#语法
3.1变量与常量
3.1.1数值类型
3.1.2变量定义
3.1.3常量定义
3.1.4数据类型转换
3.2运算符
3.2.1算术运算符
3.2.2关系运算符
3.2.3逻辑运算符
3.2.4位运算符
3.2.5赋值运算符
3.2.6三元条件运算符
3.2.7运算符的优先级
3.3选择语句
3.3.1if语句
3.3.2switch语句
3.4循环
3.4.1while
3.4.2do while
3.4.3for
3.4.4foreach语句
3.4.5跳转语句
3.5异常
3.5.1try catch语句
3.5.2throw语句
第4章字符串、时间和简单数组
4.1字符串
4.1.1字符串的定义
4.1.2转义字符
4.1.3字符串的操作
4.1.4数值与字符串的相互转化
4.1.5占位符
4.1.6string.Format( )
4.1.7格式化字符串
4.1.8StringBuider
4.1.9字符串索引
4.2简单数组
4.2.1一维数组
4.2.2多维数组
4.2.3锯齿数组
4.2.4数组应用举例
4.3时间
4.3.1DateTime
4.3.2日期时间字符串的显示格式
4.3.3DateTime的计算
4.3.4TimeSpan
第5章面向对象编程
5.1面向对象
5.2类和对象
5.3封装、继承、多态
5.4程序结构
5.5名称空间
5.6部分类
5.7类的成员
5.7.1访问修饰符
5.7.2字段
5.7.3方法
5.7.4属性
5.8过程代码写在哪里
5.9方法重载
5.10构造函数
5.11析构函数
5.12this
5.13静态成员
5.14运算符重载
5.15引用类型与值类型
5.16装箱与拆箱
5.17函数的参数
5.18索引
5.19结构
5.20枚举
第6章继承与多态
6.1继承
6.2base关键字
6.3派生类的构造函数
6.4Object类
6.5多态
6.6隐藏方法new
6.7虚方法virtualoverride
6.8抽象类与抽象方法
6.9密封类和密封方法
6.10ToString()
6.11接口interface
第7章委托与事件
7.1委托定义
7.2委托参数
7.3多播委托
7.4匿名委托
7.5委托耦合
7.6关于事件
7.7发布订阅
7.8事件参数
7.9事件句柄EventHandler
7.10事件参数EventArgs
第8章泛型
8.1泛型概念
8.2泛型类
8.2.1定义泛型类
8.2.2泛型类的默认值default
8.2.3泛型约束
8.3泛型接口
8.4泛型结构
8.5泛型方法
第9章数组与集合
9.1对象数组
9.2Array类
9.2.1Array数组创建
9.2.2Array数组复制
9.2.3Array数组排序
9.3元组
9.4列表
9.4.1ArrayList
9.4.2List
9.5队列
9.6栈
9.7链表
9.8有序列表
9.9字典
9.10有序字典
9.11Lookup类
9.12集
9.13可观察集合
9.14位数组
9.14.1BitArray
9.14.2BitVector32
第10章Windows窗体
10.1第一个窗体
10.2第一个按钮
10.3多个窗体
10.4认识窗体类
10.4.1三个文件
10.4.2Form1.cs
10.4.3Form1.Designer.cs
10.5简易计算器
10.6窗体和控件的属性
10.6.1大小和位置
10.6.2控件的停泊与锚点
10.6.3”捕捉按钮”小游戏
10.6.4颜色设置
10.7鼠标键盘事件
10.7.1鼠标事件
10.7.2键盘事件
10.7.3两个特殊的键盘事件
10.8事件的一些问题
10.9多文档界面
10.10窗体的状态
10.11窗体事件的执行顺序
10.12两个窗体之间传递数据
第11章Windows控件
11.1Windows工具箱
11.2公共控件
11.2.1RadioButton
11.2.2CheckBox
11.2.3ListBox
11.2.4ComboBox
11.2.5TreeView
11.2.6PictureBox控件
11.3菜单和工具栏
11.3.1MenuStrip
11.3.2ToolStrip
11.3.3ContextMenuStrip
11.4容器控件
11.4.1FlowLayoutPanel
11.4.2TableLayoutPanel
11.4.3SplitContainer
11.4.4TabControl
11.5对话框
11.5.1ColorDialog和FontDialog
11.5.2FolderBrowserDialog、OpenFileDialog和SaveFileDialog
第12章文件操作
12.1Directory和DirectoryInfo
12.1.1Directory
12.1.2DirectoryInfo
12.2File和FileInfo
12.2.1File
12.2.2FileInfo
12.3Path和DriveInfo
12.3.1Path
12.3.2相对路径
12.3.3DriveInfo
12.4文件读写
12.4.1File读文件
12.4.2写入文件
12.5流
12.5.1读写二进制文件
12.5.2读写文本文件
12.6资源管理器
第13章数据库
13.1C#与数据库的关系
13.2SQL语言
13.3ADO.NET
13.4C#调用Access数据库
13.4.1OleDbConnection
13.4.2OleDbCommand
13.4.3OleDbDataReader
13.4.4OleDbDataAdapter
13.5DataTable
13.5.1DataTable的定义
13.5.2DataColumn
13.5.3DataRow
13.5.4DataTable提取数据库数据
13.5.5编辑DataTable中的数据
13.5.6DataRow的状态
13.5.7DataRow的版本
13.6DataView
13.7DataSet
13.7.1DatSet与DataTable
13.7.2DataSet关系
13.7.3DataSet约束
13.8DataGridView
13.8.1行和列
13.8.2单元格
13.8.3行宽和列宽
13.8.4冻结
13.8.5排序
13.8.6隐藏
13.8.7列包含控件
13.8.8虚拟模式
13.9服务器资源管理器
13.10BindingSource
13.10.1BindingSource的简单应用
13.10.2BindingSource的定位
13.10.3BindingSource的排序过滤与查找
13.10.4Binding类
13.11可视化数据控件
13.11.1DataSet控件
13.11.2BindingNavigator控件
13.12窗体控件与数据库
13.12.1ComboBox
13.12.2窗体控件与DataSet
13.12.3控件的数据库向导
13.13综合实例
13.13.1创建数据库
13.13.2创建主窗体
13.13.3创建操作数据库的公共类
13.13.4创建图书类别窗体
13.13.5创建增加图书窗体
13.13.6创建编辑图书窗体
13.13.7创建图书查询窗体
13.14C#调用SQL Server数据库
13.14.1关于SQL Server Express数据库
13.14.2创建SQL Server Express数据库
13.14.3C#调用SQL Server Express数据库
第14章Lambda表达式与扩展方法
14.1代码简化的历程
14.1.1代码简化1
14.1.2代码简化2
14.1.3代码简化3
14.1.4代码简化4
14.1.5代码简化5
14.1.6代码简化6
14.2Lambda表达式
14.3Func,Action和Predicate
14.3.1Func
14.3.2Action
14.3.3Predicate
14.4委托在List中的简单应用
14.5扩展方法
第15章Linq
15.1准备数据
15.2投影和筛选
15.3排序
15.4分组
15.5复合from
15.6延迟执行与立即执行
15.6.1延迟执行
15.6.2立即执行
第16章GDI 绘图
16.1GDI与GDI
16.2绘制简单图形
16.3GDI 绘图原理
16.4Color
16.4.1RGB
16.4.2ARGB
16.4.3网络安全色
16.4.4Color结构
16.5Pen和Brush
16.5.1Pen
16.5.2Brush
16.6Graphics
16.7Point、Size和Rectangle
16.7.1Point和PointF
16.7.2Size和SizeF
16.7.3Rectangle和RectangleF
16.8绘制图形
16.9绘制文本
16.10绘制图片
16.11图形变换
16.12屏幕刷新问题
16.13Invalidate
16.14橡皮筋
16.15Image和BitMap
16.16ColorMatrix
16.17绘制函数曲线
16.17.1简单函数曲线
16.17.2动态曲线
16.18不使用OnPaint、Invalidate的方法
第17章网络编程
17.1网络基本概念
17.1.1TCP/IP
17.1.2Socket(套接字)
17.1.3其他相关概念
17.1.4客户与服务器
17.2Socket程序
17.3TCP程序
17.4UDP程序
17.4.1UDP客户端
17.4.2UDP服务端
17.5异步通信
17.5.1同步和异步
17.5.2Socket异步连接
17.5.3Socket异步连接
17.6聊天程序
17.6.1客户端
17.6.2服务端
第18章线程
18.1进程与线程
18.2异步委托
18.2.1同步委托
18.2.2异步委托
18.2.3IAsyncResult
18.2.4异步回调AsyncCallback
18.2.5异步回调的Lambda表达式
18.3线程
18.3.1Thread
18.3.2给线程命名
18.3.3给线程传递参数
18.3.4线程的控制
18.3.5优先级
18.4线程池
18.5争用
18.6Windows窗体的线程问题
18.6.1Timer控件的问题
18.6.2System.Threading.Timer类
18.6.3System.Timers类
18.7BackgroundWorker
18.7.1BackgroundWorker控件
18.7.2BackgroundWorker类
18.8窗体与线程交换数据的一种简易方法
第19章关于变量命名
后记