第1部分 C#编程基础 2
第1章 C#与.NET概述 2
1.1 NET与C 2
1.1.1 Microsoft.NET 2
1.1.2 C#与.NET 5
1.2 C#开发及运行环境 6
1.2.1 C#开发工具及相关 6
1.2.2 C#安装与执行环境 9
1.3 C#编程与实例 12
1.3.1 C#编程特点与风格 12
1.3.2 使用C#创建.NET应用程序 14
1.4 分析与小结 15
第2章 C#语言基础 16
2.1 数据类型与常变量 16
2.1.1 值类型 16
2.1.2 引用类型 19
2.1.3 常量与变量 21
2.1.4 类型转换 23
2.2 操作符和表达式 29
2.2.1 操作运算符 29
2.2.2 算术操作符和算术表达式 30
2.2.3 赋值操作符和赋值表达式 33
2.2.4 关系操作符和关系表达式 33
2.2.5 逻辑操作符和逻辑表达式 35
2.2.6 位运算 36
2.2.7 其他特殊操作符 39
2.3 程序流控 42
2.3.1 条件语句 42
2.3.2 循环语句 45
2.3.3 跳转结构 49
2.3.4 条件编译 52
2.3.5 异常处理 54
2.4 小结 55
第2部分 面向对象的C#程序设计第3章 C#面向对象设计基础 58
3.1 面向对象的思想 58
3.1.1 面向对象的设计理念 58
3.1.2 面向对象的程序设计过程 59
3.2 类和对象 59
3.2.1 类和对象的关系 60
3.2.2 类 60
3.2.3 构造函数和析构函数 65
3.3 其他相关介绍 68
3.3.1 方法 68
3.3.2 域的概念 74
3.3.3 属性 78
3.3.4 索引指示器 82
3.3.5 事件 84
3.4 小结 89
第4章 C#面向对象深入分析 91
4.1 C#中的继承与多态 91
4.1.1 继承机制 91
4.1.2 访问与隐藏基类成员 94
4.1.3 关于继承中的一些问题 101
4.1.4 多态性与虚方法 106
4.2 C#类型转换 110
4.2.1 隐式类型转换 110
4.2.2 显式类型转换 111
4.2.3 类的引用转换 112
4.2.4 装箱和拆箱 113
4.3 Object基类 114
4.3.1 Object类中的方法 114
4.3.2 使用Object类中的方法 115
4.3.3 重载Object类中的方法 116
4.4 小结 117
第3部分 C#编程提高 120
第5章 接口 120
5.1 接口的定义与实现 120
5.1.1 接口的定义 120
5.1.2 接口的成员 122
5.1.3 接口的实现 128
5.2 抽象类与接口 147
5.2.1 抽象类 147
5.2.2 抽象类和接口 148
5.3 小结 149
第6章 文件和流 150
6.1 文件、目录和流 150
6.2 文件操作 151
6.2.1 文件的创建 151
6.2.2 文件读写 156
6.2.3 异步文件操作 164
6.3 目录和路径操作 170
6.3.1 Directory类 170
6.3.2 DirectoryInfo类 172
6.3.3 Path类 174
6.4 小结 176
第4部分 网络编程基础 178
第7章 网络编程相关内容 178
7.1 网络通信监视 178
7.1.1 网络通信监视介绍 178
7.1.2 网络数据包分析 183
7.2 TCP编程和UDP编程 185
7.2.1 TCP编程特点 185
7.2.2 UDP编程特点 186
7.2.3 获取网络配置信息 187
7.3 C#DNS编程实例 192
7.3.1 域名系统DNS 193
7.3.2 Windows DNS客户端信息 196
7.3.3 在C#网络编程中获取DNS信息 200
7.4 小结 208
第8章 C#网络套接字编程 209
8.1 套接字编程技术简介 209
8.1.1 UNIX中的套接字编程 209
8.1.2 Windows中的套接字编程 214
8.2 C#套接字编程 216
8.2.1 处理IP地址 217
8.2.2 C#套接口 220
8.3 C#套接字助手类 224
8.3.1 TcpClient 224
8.3.2 TcpListener 226
8.3.3 UdpClient 229
8.4 小结 233
第5部分 网络编程深入分析第9章 面向连接的套接字编程 236
9.1 C#TCP协议编程基础 236
9.1.1 TCP协议相关类简介 236
9.1.2 若干注意要点 242
9.2 简单的TCP服务器 243
9.2.1 TCP服务器实例 243
9.2.2 实例分析 245
9.2.3 服务器监视 246
9.3 简单TCP客户端程序 246
9.3.1 TCP客户端程序实例 246
9.3.2 相关测试 247
9.4 在TCP通信中使用C#流 248
9.4.1 NetworkStream类 248
9.4.2 StreamReader和StreamWrite类 252
9.4.3 C#通信流的实现 254
9.5 小结 256
第10章 无连接套接字编程 257
10.1 UDP应用简述 257
10.1.1 UDP的几个特点 258
10.1.2 UDP与TCP区别 259
10.1.3 UDP的应用范围 259
10.1.4 UDP程序段分析 260
10.1.5 UDP信息区分 264
10.2 C#中UDP通信过程 266
10.2.1 处理UDP数据丢失 266
10.2.2 处理报文丢失 269
10.2.3 数据报重传 273
10.3 C#中UDP实现机理 278
10.3.1 Socket详述 278
10.3.2 C#中UDP通信的函数 279
10.3.3 UDP套接字小结 282
第11章 异步套接字编程 283
11.1 Windows事件驱动编程 283
11.1.1 事件和委托 283
11.1.2 AsynCallback类 286
11.2 异步套接字 286
11.2.1 面向连接的异步套接字方法 287
11.2.2 无连接的异步套接字方法 298
11.3 非阻塞套接字方法 299
11.3.1 轮询方法Poll() 300
11.3.2 选择方法Select() 303
11.4 小结 305
第12章 C#网络组播技术 306
12.1 组播定义及说明 306
12.1.1 什么是组播 306
12.1.2 使用组播特点发送报文 310
12.2 C#IP组播 313
12.2.1 C#IP组播支持 313
12.2.2 关键实现技术 316
12.3 组播应用程序例子 323
12.3.1 一个组播应用实例 324
12.3.2 实例分析及总结 327
12.4 小结 328
第6部分 C#分类开发分析 332
第13章 C#DNS开发 332
13.1 域名系统DNS 332
13.1.1 DNS结构 332
13.1.2 DNS主机发现 333
13.2 DNS相关类介绍 334
13.2.1 DNS同步和异步方法 334
13.2.2 DnsPermission类 336
13.3 C#DNS服务系统 342
13.3.1 DNS服务实现源码 342
13.3.2 程序分析 354
13.4 小结 355
第14章 C#FTP编程 356
14.1 FIP相关 356
14.1.1 FTP简介 356
14.1.2 FTP文件传输原理 358
14.2 FTP开发过程 360
14.2.1 FTP服务流程 360
14.2.2 典型的FTP过程 361
14.3 FTP文件传输开发实例 362
14.3.1 简单的FTP实现案例 362
14.3.2 案例分析 377
14.4 小结 384
第15章 SMTP协议编程 385
15.1 SMTP协议简介 385
15.1.1 E-mail基础 385
15.1.2 SMTP和Windows 388
15.2 SMTP协议编程 389
15.2.1 SmtpMail类 389
15.2.2 扩展Mail信息的使用 390
15.3 POP3客户端 395
15.3.1 POP3协议 395
15.3.2 POP3客户端 397
第16章 C#HTTP协议编程 403
16.1 C#HTTP编程 403
16.1.1 HTTP协议简介 403
16.1.2 与HTTP相关类的介绍 406
16.2 HTTP协议编程常用方法详解 416
16.2.1 HTTP的方法调用与实现 416
16.2.2 使用HTTP实现Web服务 418
16.2.3 Internet的请求和响应 421
16.3 HTTP协议编程实例 424
16.3.1 一个典型HTTP例子 424
16.3.2 C#实例应用及分析 426
16.4 小结 426
第17章 ASP页面应用程序开发 428
17.1 ASP.NET基础 428
17.1.1 ASP.NET的几个特点 428
17.1.2 ASP.NET编程体验 429
17.1.3 ASP.NET体系结构 432
17.2 ASP.NET的产生与演化 437
17.2.1 传统ASP的缺陷 437
17.2.2 ASP.NET的设计目标 438
17.2.3 ASP.NET的设计方法 438
17.3 ASP.NET页面编写 445
17.3.1 事件与过程 445
17.3.2 示例分析 446
第7部分 大型C#综合网络开发实例第18章 C#开发综合实例——网络学籍管理系统 450
18.1 系统开发环境 450
18.1.1 开发与部署环境 450
18.2 需求分析及设计说明 450
18.2.1 需求分析 450
18.2.2 总体设计 452
18.2.3 模块功能分析 454
18.2.4 数据库定义 455
18.3 网络学籍系统 455
18.3.1 网络学籍系统实现框架 456
18.3.2 网络学籍系统主要源码 458
18.4 分析与总结 468