第1章 C#核心技术概述 1
1.1 Microsoft.NET介绍 1
1.1.1 Microsoft.NET产生背景 1
1.1.2 Microsoft.NET框架基本模块 2
1.1.3 Microsoft.NET平台的意义 4
1.2 C#概述 5
1.2.1 C#产生的历史 5
1.2.2 C#与面向对象 7
1.2.3 C#特点 7
1.3 C#程序开发实例 8
1.3.1 C#程序的基本结构 8
1.3.2 编译和运行C#应用程序 10
1.3.3 集成开发环境Visual Studio 11
本章总结 13
习题 13
第2章 艾斯医药系统项目案例介绍 14
2.1 项目概述 14
2.2 需求分析 15
2.3 系统分析设计 16
2.4 项目运行指南 17
第3章 C#基础语法 18
3.1 C#基本语法要求 18
3.2 数据类型 19
3.2.1 值类型 19
3.2.2 引用类型 23
3.2.3 值类型和引用类型的区别 23
3.3 常量与变量 25
3.3.1 常量 25
3.3.2 变量 26
3.4 运算符和表达式 27
3.4.1 算术运算符 27
3.4.2 关系运算符 27
3.4.3 逻辑运算符 28
3.4.4 赋值运算符 29
3.4.5 位运算符 29
3.4.6 条件运算符 30
3.4.7 其他运算符 30
3.4.8 运算符的优先级 31
3.5 数据类型转换 32
3.5.1 隐式转换 32
3.5.2 显式转换 33
3.5.3 拆箱与装箱 34
3.5.4 .NET类库支持的方法转换 34
3.6 项目案例 35
3.6.1 学习目标 35
3.6.2 案例描述 35
3.6.3 案例要点 35
3.6.4 案例实施 36
3.6.5 特别提示 36
3.6.6 拓展与提高 37
本章总结 38
习题 38
第4章 流程控制 40
4.1 顺序流程 40
4.2 分支流程 41
4.2.1 if语句 41
4.2.2 switch语句 43
4.3 循环流程 46
4.3.1 while循环 46
4.3.2 do…while循环 47
4.3.3 for循环 48
4.3.4 foreach循环 49
4.4 跳转流程 50
4.4.1 break语句 50
4.4.2 continue语句 51
4.4.3 return语句 51
4.4.4 goto语句 52
4.4.5 异常处理语句try…catch…finally 52
4.5 项目案例 54
4.5.1 学习目标 54
4.5.2 案例描述 54
4.5.3 案例要点 55
4.5.4 案例实施 55
4.5.5 特别提示 56
4.5.6 拓展与提高 56
本章总结 56
习题 56
第5章 C#面向对象核心语法 58
5.1 面向对象的概念 58
5.1.1 对象和类概述 58
5.1.2 类、方法和变量 59
5.1.3 构造方法和析构方法 61
5.1.4 方法重载 62
5.1.5 this的使用 64
5.1.6 命名空间 66
5.2 封装 68
5.2.1 封装概述 68
5.2.2 属性与索引器 68
5.2.3 内部类 72
5.2.4 分部类 72
5.3 继承 73
5.3.1 继承的概念 73
5.3.2 base的使用 75
5.3.3 重写方法与隐藏方法 78
5.4 多态 82
5.4.1 多态概念 82
5.4.2 多态实现的条件 83
5.4.3 多态性的代码实现 83
5.5 项目案例 85
5.5.1 学习目标 85
5.5.2 案例描述 85
5.5.3 案例要点 85
5.5.4 案例实施 85
5.5.5 特别提示 86
5.5.6 拓展与提高 86
本章总结 87
习题 87
第6章 C#面向对象高级语法(一) 90
6.1 静态变量和方法 90
6.1.1 静态变量 90
6.1.2 静态方法 92
6.2 密封类和方法 93
6.3 抽象类和抽象方法 93
6.3.1 抽象类 93
6.3.2 抽象方法 94
6.4 接口 95
6.4.1 接口的定义 95
6.4.2 接口的实现 96
6.5 项目案例 100
6.5.1 学习目标 100
6.5.2 案例描述 100
6.5.3 案例要点 100
6.5.4 案例实施 100
6.5.5 特别提示 100
6.5.6 拓展与提高 100
本章总结 101
习题 101
第7章 C#面向对象高级语法(二) 103
7.1 运算符重载 103
7.1.1 重载运算符的原则 104
7.1.2 重载标准运算符 104
7.2 数组 105
7.2.1 一维数组 106
7.2.2 多维数组 107
7.2.3 数组的使用 107
7.3 字符串 110
7.3.1 构造string类字符串 110
7.3.2 字符串处理 111
7.3.3 字符串数组的使用 113
7.3.4 StringBuilder类 113
7.4 集合 115
7.4.1 集合与接口 115
7.4.2 ArrayList类 117
7.4.3 Queue类 119
7.4.4 Stack类 120
7.4.5 Hashtable类 121
7.4.6 SortedList类 123
7.5 委托与事件 123
7.5.1 委托 124
7.5.2 事件 126
7.6 泛型 130
7.6.1 泛型的概念 130
7.6.2 泛型的声明和使用 130
7.6.3 泛型约束 132
7.6.4 泛型集合 132
7.7 项目案例 133
7.7.1 学习目标 133
7.7.2 案例描述 133
7.7.3 案例要点 134
7.7.4 案例实施 134
7.7.5 特别提示 135
7.7.6 拓展与提高 135
本章总结 136
习题 136
第8章 异常处理 138
8.1 异常处理机制 138
8.1.1 异常处理基础 138
8.1.2 异常基类 139
8.2 捕获异常 139
8.2.1 checked和unchecked语句 140
8.2.2 捕获多个异常 141
8.3 使用finally块 143
8.4 抛出异常 144
8.5 项目案例 146
8.5.1 学习目标 146
8.5.2 案例描述 147
8.5.3 案例要点 147
8.5.4 案例实施 147
8.5.5 特别提示 148
8.5.6 拓展与提高 148
本章总结 148
习题 149
第9章 使用WinForm建立用户图形界面 151
9.1 窗体编程概述 151
9.1.1 窗体定义 152
9.1.2 创建Windows窗体应用程序 152
9.2 窗体编程基础 155
9.2.1 .NET Framework窗体编程相关基类 155
9.2.2 通用控件属性 155
9.2.3 响应控件事件 159
9.3 窗体控件和组件简介 160
9.3.1 常用控件 160
9.3.2 菜单设计 180
9.3.3 对话框设计 184
9.3.4 工具栏与状态栏设计 189
9.4 项目案例 192
9.4.1 学习目标 192
9.4.2 案例描述 192
9.4.3 案例要点 192
9.4.4 案例实施 192
9.4.5 特别提示 193
9.4.6 拓展与提高 194
本章总结 194
习题 194
第10章 多线程高级编程 195
10.1 多线程的概念 195
10.1.1 多线程基础 196
10.1.2 Thread类 197
10.2 线程状态 200
10.2.1 创建和启动线程 201
10.2.2 线程优先级及调度 206
10.2.3 暂停和中断线程 208
10.2.4 挂起和唤醒线程 210
10.2.5 销毁线程 211
10.3 线程的同步 213
10.3.1 并发的问题 213
10.3.2 使用lock关键字 215
10.3.3 使用Monitor关键字 216
10.3.4 同步问题 218
10.4 线程池 219
10.5 项目案例 222
10.5.1 学习目标 222
10.5.2 案例描述 222
10.5.3 案例要点 222
10.5.4 案例实施 222
10.5.5 特别提示 225
10.5.6 拓展与提高 225
本章总结 225
习题 225
第11章 文件与流 227
11.1 文件系统中的目录和文件管理 227
11.1.1 DriveInfo 229
11.1.2 Directory和DirectoryInfo 231
11.1.3 File和FileInfo 237
11.1.4 Path类 241
11.2 基于流的文件读写操作 242
11.2.1 流的概念 242
11.2.2 FileStream类 243
11.2.3 StreamReader和Stream Writer 245
11.2.4 StringReader和String Writer 249
11.2.5 BinaryReader和Binary Writer 250
11.3 XML文件操作 252
11.3.1 XML基础 252
11.3.2 XML创建 254
11.3.3 XML数据处理 257
11.4 项目案例 262
11.4.1 学习目标 262
11.4.2 案例描述 263
11.4.3 案例要点 263
11.4.4 案例实施 263
11.4.5 特别提示 266
11.4.6 拓展与提高 266
本章总结 266
习题 266
第12章 TCP/UDP网络编程初步 268
12.1 网络编程简介 268
12.1.1 网络基础概述 268
12.1.2 TCP/IP 270
12.1.3 UDP/IP 270
12.1.4 System.Net和System.Net.Sockets命名空间 271
12.2 基于TCP/IP的网络编程 272
12.2.1 TcpClient 272
12.2.2 TcpListener 274
12.2.3 客户机程序 276
12.2.4 服务器程序 277
12.2.5 TCP的网络编程实例 280
12.3 基于UDP/IP的网络编程 281
12.3.1 UdpClient 281
12.3.2 基于UdpClient的编程实例 283
12.3.3 用UDP实现多播 284
12.4 项目案例 286
12.4.1 学习目标 286
12.4.2 案例描述 286
12.4.3 案例要点 286
12.4.4 案例实施 286
12.4.5 特别提示 291
12.4.6 拓展与提高 291
本章总结 291
习题 291
第13章 ADO.NET数据库开发 293
13.1 ADO.NET概述 293
13.1.1 ADO.NET核心组件 294
13.1.2 .NET Framework数据提供程序 295
13.2 连接数据库 295
13.2.1 创建School数据库 295
13.2.2 构造Connection对象 296
13.2.3 Connection对象的属性和方法 297
13.2.4 连接数据库的应用 298
13.3 ADO.NET和数据库的交互 299
13.3.1 利用Command对象 299
13.3.2 利用DataReader对象 303
13.3.3 利用DataAdapter对象 306
13.4 数据集DataSet 307
13.4.1 虚拟内存数据库DataSet 308
13.4.2 虚拟内存表DataTable 309
13.4.3 DataColumn对象 310
13.4.4 DataRow对象 310
13.4.5 DataView对象 313
13.4.6 Constant集合 314
13.4.7 DataRelation对象 315
13.5 项目案例 315
13.5.1 学习目标 315
13.5.2 案例描述 316
13.5.3 案例要点 316
13.5.4 案例实施 316
13.5.5 特别提示 319
13.5.6 拓展与提高 320
本章总结 320
习题 320
致谢 322