内容简介
第1章 初识C
1.1 Visual Studio.NET简介
1.2.NET Framework简介
1.3 C#简介
1.4 Visual Studio.NET开发环境
第2章 接触C
2.1 第一个C#程序
2.2 关于控制台程序
2.3 C#程序基本结构
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.1 if语句
3.3.2 switch语句
3.4 循环
3.4.1 while
3.4.2 do while
3.4.3 for
3.4.4 foreach语句
3.4.5 跳转语句
3.5 异常
3.5.1 try catch语句
3.5.2 throw语句
第4章 字符串、时间和简单数组
4.1 字符串
4.1.1 字符串的定义
4.1.2 转义字符
4.1.3 字符串的操作
4.1.4 数值与字符串的相互转化
4.1.5 占位符
4.1.6 string.Format()
4.1.7 格式化字符串
4.1.8 StringBuider
4.1.9 字符串索引
4.2 简单数组
4.2.1 一维数组
4.2.2 多维数组
4.2.3 锯齿数组
4.2.4 数组应用举例
4.3 时间
4.3.1 DateTime
4.3.2 日期时间字符串的显示格式
4.3.3 DateTime的计算
4.3.4 TimeSpan
第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.12 this
5.13 静态成员
5.14 运算符重载
5.15 引用类型与值类型
5.16 装箱与拆箱
5.17 函数的参数
5.18 索引
5.19 结构
5.20 枚举
第6章 继承与多态
6.1 继承
6.2 base关键字
6.3 派生类的构造函数
6.4 Object类
6.5 多态
6.6 隐藏方法new
6.7 虚方法virtual-override
6.8 抽象类与抽象方法
6.9 密封类和密封方法
6.10 ToString()
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.2 Array类
9.2.1 Array数组创建
9.2.2 Array数组复制
9.2.3 Array数组排序
9.3 元组
9.4 列表
9.4.1 ArrayList
9.4.2 List<T>
9.5 队列
9.6 栈
9.7 链表
9.8 有序列表
9.9 字典
9.10 有序字典
9.11 Lookup类
9.12 集
9.13 可观察集合
9.14 位数组
9.14.1 BitArray
9.14.2 BitVector32
第10章 Windows窗体
10.1 第一个窗体
10.2 第一个按钮
10.3 多个窗体
10.4 认识窗体类
10.4.1 三个文件
10.4.2 Forml.cs
10.4.3 Forml.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.1 Windows工具箱
11.2 公共控件
11.2.1 RadioButton
11.2.2 CheckBox
11.2.3 ListBox
11.2.4 ComboBox
11.2.5 TreeView
11.2.6 PictureBox控件
11.3 菜单和工具栏
11.3.1 MenuStrip
11.3.2 ToolStrip
11.3.3 Context Men uStrip
11.4 容器控件
11.4.1 FlowLayoutPanel
11.4.2 TableLayoutPanel
11.4.3 SplitContainer
11.4.4 TabControl
11.5 对话框
11.5.1 ColorDialog和FontDialog
11.5.2 FolderBrowserDialog、OpenFileDialog和SaveFileDialog
第12章 文件操作
12.1 Directory和DirectoryInfo
12.1.1 Directory
12.1.2 DirectoryInfo
12.2 File和FileInfo
12.2.1 File
12.2.2 FileInfo
12.3 Path和DriveInfo
12.3.1 Path
12.3.2 相对路径
12.3.3 DriveInfo
12.4 文件读写
12.4.1 File读文件
12.4.2 写入文件
12.5 流
12.5.1 读写二进制文件
12.5.2 读写文本文件
12.6 资源管理器
第13章 数据库
13.1 C#与数据库的关系
13.2 SQL语言
13.3 ADO.NET
13.4 C#调用Access数据库
13.4.1 OleDbConnection
13.4.2 OleDbCommand
13.4.3 OleDbDataReader
13.4.4 OleDbDataAdapter
13.5 DataTable
13.5.1 DataTable的定义
13.5.2 DataColumn
13.5.3 DataRow
13.5.4 DataTable提取数据库数据
13.5.5 编辑DataTable中的数据
13.5.6 DataRow的状态
13.5.7 DataRow的版本
13.6 DataView
13.7 DataSet
13.7.1 DatSet与DataTable
13.7.2 DataSet关系
13.7.3 DataSet约束
13.8 DataGridView
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.10 BindingSource
13.10.1 BindingSource的简单应用
13.10.2 BindingSource的定位
13.10.3 BindingSource的排序过滤与查找
13.10.4 Binding类
13.11 可视化数据控件
13.11.1 DataSet控件
13.11.2 BindingNavigator控件
13.12 窗体控件与数据库
13.12.1 ComboBox
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.14 C#调用SQL Server数据库
13.14.1 关于SQL Server Express数据库
13.14.2 创建SQL Server Express数据库
13.14.3 C#调用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.2 Lambda表达式
14.3 Func,Action和Predicate
14.3.1 Func
14.3.2 Action
14.3.3 Predicate
14.4 委托在List<T>中的简单应用
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.1 GDI与GDI十
16.2 绘制简单图形
16.3 GDI+绘图原理
16.4 Color
16.4.1 RGB
16.4.2 ARGB
16.4.3 网络安全色
16.4.4 Color结构
16.5 Pen和Brush
16.5.1 Pen
16.5.2 Brush
16.6 Graphics
16.7 Point、Size和Rectangle
16.7.1 Point和PointF
16.7.2 Size和SizeF
16.7.3 Rectangle和RectangleF
16.8 绘制图形
16.9 绘制文本
16.10 绘制图片
16.11 图形变换
16.12 屏幕刷新问题
16.13 Invalidate
16.14 橡皮筋
16.15 Image和BitMap
16.16 ColorMatrix
16.17 绘制函数曲线
16.17.1 简单函数曲线
16.17.2 动态曲线
16.18 不使用OnPaint、Invalidate的方法
第17章 网络编程
17.1 网络基本概念
17.1.1 TCP/IP
17.1.2 Socket(套接字)
17.1.3 其他相关概念
17.1.4 客户与服务器
17.2 Socket程序
17.3 TCP程序
17.4 UDP程序
17.4.1 UDP客户端
17.4.2 UDP服务端
17.5 异步通信
17.5.1 同步和异步
17.5.2 Socket异步连接
17.5.3 Socket异步连接
17.6 聊天程序
17.6.1 客户端
17.6.2 服务端
第18章 线程
18.1 进程与线程
18.2 异步委托
18.2.1 同步委托
18.2.2 异步委托
18.2.3 IAsyncResult
18.2.4 异步回调AsyncCallback
18.2.5 异步回调的Lambda表达式
18.3 线程
18.3.1 Thread
18.3.2 给线程命名
18.3.3 给线程传递参数
18.3.4 线程的控制
18.3.5 优先级
18.4 线程池
18.5 争用
18.6 Windows窗体的线程问题
18.6.1 Timer控件的问题
18.6.2 System.Threading.Timer类
18.6.3 System.Timers类
18.7 BackgroundWorker
18.7.1 Background Worker控件
18.7.2 Background Worker类
18.8 窗体与线程交换数据的一种简易方法
第19章 关于变量命名
后记