第1章 概述 1
1.1 .NET Framework概述 1
1.1.1 .NET平台简介 1
1.1.2 .NET Framework 4
1.1.3 .NET程序的编译和执行 8
1.1.4 C#与.NET Framework 9
1.2 C#集成开发环境VS2013 10
1.2.1 启动VS2013开发环境 11
1.2.2 新建项目 12
1.2.3 VS2013主窗口 13
1.2.4 帮助系统 16
1.3 创建简单的C#应用程序 18
1.3.1 创建简单的C#控制台应用程序 19
1.3.2 C#控制台应用程序的基本结构 21
1.3.3 创建简单的Windows窗体应用程序 23
1.3.4 Windows窗体应用程序的基本结构 25
小结 27
习题 27
第2章 C#程序设计基础 29
2.1 C#数据类型 29
2.1.1 值类型 29
2.1.2 引用类型 35
2.1.3 数据类型转换 42
2.2 变量和常量 46
2.2.1 变量的声明和使用 46
2.2.2 变量的分类 47
2.2.3 常量 48
2.3 常用运算符和表达式 48
2.3.1 运算符 49
2.3.2 表达式 51
2.4 C#方法及其重载 52
2.4.1 方法的定义 52
2.4.2 方法的调用 54
2.4.3 方法的重载 54
2.5 C#流程控制语句 55
2.5.1 条件分支语句 55
2.5.2 循环控制语句 57
2.5.3 跳转语句 59
2.6 控制台的输入和输出 60
2.7 常见的预处理指令 62
小结 64
习题 64
第3章 面向对象编程基础 66
3.1 面向对象程序设计思想 66
3.1.1 结构化程序设计方法 66
3.1.2 面向对象程序设计方法 66
3.1.3 面向对象程序设计的基本特征 67
3.2 类和对象 69
3.2.1 类与类成员 70
3.2.2 默认构造函数与对象的创建 73
3.2.3 自定义构造函数与对象的创建 74
3.3 属性在类和对象中的应用 76
3.4 方法重载在类和对象中的应用 81
3.5 类的静态成员与实例成员 83
3.5.1 静态数据成员与实例数据成员 84
3.5.2 静态方法成员与实例方法成员 87
3.6 C#常用类操作 90
3.6.1 系统类Object 90
3.6.2 string类和StringBuilder类 93
3.6.3 DateTime类和TimeSpan类 97
3.6.4 Math类 98
3.7 命名空间 99
3.7.1 声明命名空间 99
3.7.2 using关键字 100
小结 100
习题 101
第4章 面向对象高级编程 103
4.1 继承在类与对象中的应用 103
4.1.1 继承机制 103
4.1.2 继承的特性 106
4.1.3 继承中的访问修饰符 108
4.1.4 base关键字在继承关系中的应用 112
4.2 this关键字在类与对象中的应用 116
4.2.1 引用类的当前实例 116
4.2.2 参数传递 116
4.2.3 定义索引器 118
4.3 索引器在类与对象中的应用 118
4.4 多态在类与对象中的应用 121
4.4.1 多态的含义 121
4.4.2 通过方法重写实现多态 121
4.4.3 通过方法隐藏实现多态 123
4.5 静态类与静态类成员 126
4.6 抽象类与抽象方法 127
4.6.1 抽象类 127
4.6.2 抽象方法 127
4.7 密封类与密封方法 128
4.7.1 密封类 128
4.7.2 密封方法 129
4.8 接口 130
4.8.1 接口的声明 131
4.8.2 接口成员的声明 131
4.8.3 接口成员的访问 132
4.8.4 接口的实现 132
4.9 委托与事件 134
4.9.1 委托 134
4.9.2 事件 136
小结 138
习题 138
第5章 集合与泛型 140
5.1 集合 140
5.1.1 集合概述 140
5.1.2 非泛型集合类 140
5.1.3 泛型集合类 140
5.2 常用非泛型集合类 141
5.2.1 ArrayList类 141
5.2.2 Hashtable类 149
5.3 泛型 153
5.3.1 泛型概述 153
5.3.2 List〈T〉类 154
5.3.3 Dictionary〈K,V〉类 154
5.3.4 泛型使用建议 155
5.4 泛型接口 155
5.4.1 IC omparer〈T〉接口 155
5.4.2 IComparable〈T〉接口 157
5.4.3 自定义泛型接口 158
5.5 定义泛型方法 160
5.5.1 泛型类中的泛型方法 162
5.5.2 泛型约束 163
小结 165
习题 165
第6章 Windows窗体应用程序设计 167
6.1 窗体与控件 167
6.1.1 窗体的常用属性 168
6.1.2 窗体的常用方法和事件 172
6.1.3 主要的窗体控件概述 173
6.2 基本控件的使用 175
6.2.1 输入输出控件 176
6.2.2 按钮控件 182
6.2.3 选择控件 185
6.2.4 列表控件 189
6.2.5 容器控件 194
小结 200
习题 200
第7章 Windows应用程序开发进阶——高级窗体控件 201
7.1 菜单、工具栏和状态栏控件 201
7.1.1 菜单控件的使用 201
7.1.2 快捷菜单 206
7.1.3 工具栏控件的使用 207
7.1.4 状态栏控件的使用 211
7.2 列表视图和树视图控件 212
7.2.1 列表视图控件的使用 213
7.2.2 树视图控件的使用 219
7.3 对话框控件 223
7.3.1 模态和非模态对话框 223
7.3.2 字体对话框 224
7.3.3 颜色对话框 226
7.3.4 打印对话框 227
7.3.5 消息对话框 228
7.4 多文档界面编程 231
小结 232
习题 232
第8章 C#文件与注册表操作 234
8.1 文件管理操作文件的流模型——文件和流 234
8.1.1 C#中操作文件的流模型——文件和流 234
8.1.2 文件的复制、移动和删除 236
8.1.3 OpenFileDialog控件 239
8.1.4 SaveFileDialog控件 241
8.2 目录和路径管理 243
8.2.1 目录的创建、删除与移动 244
8.2.2 FolderBrowserDialog控件 246
8.3 文件读写 246
8.3.1 FileStrearn类 247
8.3.2 读写文本文件 249
8.3.3 读写二进制文件 253
8.4 注册表操作 257
8.4.1 注册表项的创建、打开与删除 257
8.4.2 创建、读取和删除键值 258
8.4.3 判断项和键是否存在 259
小结 259
习题 260
第9章 ADO .NET数据库访问 261
9.1 ADO .NET概述 261
9.2 ADO .NET组成 261
9.2.1 .NET Framework数据提供程序 262
9.2.2 DataSet 276
9.2.3 ADO .NET访问数据库的两种模式 280
9.3 使用连接模式访问数据库 281
9.3.1 连接模式下读取数据 282
9.3.2 连接模式下更新数据 285
9.4 使用非连接模式访问数据库 286
9.4.1 非连接模式下读取数据 287
9.4.2 非连接模式下更新数据 289
9.5 数据绑定 292
9.5.1 数据绑定技术概述 292
9.5.2 简单数据绑定 293
9.5.3 复杂数据绑定 301
9.5.4 BindingSource与BindingNavigator数据绑定组件 302
9.5.5 DataGridView数据绑定控件 306
小结 310
习题 310
第10章 网络编程 312
10.1 网络编程基础 312
10.1.1 IPAddress类 313
10.1.2 Dns类 315
10.1.3 IPHostEntry类 316
10.1.4 IPEndPoint类 318
10.2 套接字 319
10.2.1 Socket简介 319
10.2.2 Socket类 321
10.2.3 面向连接的套接字 324
10.2.4 无连接的套接字 326
10.2.5 NetworkStream类 326
10.3 TCP应用编程 331
10.3.1 TcpClient和TcpListener类 332
10.3.2 TCP同步编程 336
10.3.3 TCP异步通信 341
10.4 UDP应用编程 346
10.4.1 UdpClient类 346
10.4.2 UDP应用编程实例 349
小结 352
习题 353
附录 习题答案 354