简介
本书系统讲解了C#编程技术及应用开发方法和技巧,由浅入深地讲解了
C#编程相关的各方面知识。全书共分22章,分别讲解了基本语言、面向对象
编程、面向对象的类与继承、集合对象、正则表达式、文件及流操作、多线
程编程、网络编程、语言集成查询(LINCJ)、视窗编程和数据库编程技术等
各个方面,最后还通过两个综合项目案例讲解了C#编程技术的综合开发应用
方法。
本书中的实例有些来源于作者的经验积累,有些来源于实际开发项目,
读者在深入研究本书后,就能够在短时间内掌握C#编程开发技术,快速提高
编程水平。
本书配有视频教学光盘,提供了书中所有实例的全部源代码,并经过精
心调试,在Visual Studio.NET 2008下全部编译通过,保证能正常运行。
本书适用于C语言初学者、爱好者及具有一定编程经验的初级编程人员
,也适用于一线软件开发人员,还可以供大中专院校师生及培训机构阅读,
更适用于想快速提高C#实际编程水平的编程人员和从事NET编程的开发人员
。
目录
第1章 开发工具指南 1
1.1 visual studio.net集成开发环境初识 1
1.1.1 vs.net安装 1
1.1.2 vs.net的启动 2
1.1.3 新建或打开一个项目 3
1.1.4 解决方案的基本构成 5
1.1.5 解决方案的常用操作 5
1.2 常用的程序类型介绍 6
1.2.1 项目类型 6
1.2.2 控制台应用程序 7
1.2.3 windows 应用程序 7
1.2.4 web 应用程序 8
1.3 .net framework 8
1.3.1 .net framework 实现目标 9
1.3.2 .net framework 的主要组件 9
1.3.3 公共语言运行库的优势 10
1.3.4 .net framework类库 10
1.3.5 客户端应用程序开发 11
1.3.6 服务器应用程序开发 11
1.4 ide 的基本使用方法 12
.1.4.1 代码编写 12
1.4.2 代码编辑器 14
第2章 c# 编程起步 15
2.1 第一个c# 程序 15
2.1.1 编写第一个 c# 程序 15
2.1.2 使用命令行方式编程 18
2.1.3 程序代码分析 19
2.2 扩展示例练习 20
2.2.1 使用系统库 21
2.2.2 带参数的main()方法程序 21
2.2.3 参数设置 22
2.2.4 带返回值的程序 23
2.3 通用编码方法 24
2.4 生成程序和调试程序 26
2.4.1 生成程序 26
2.4.2 调试程序 26
2.5 编码方法 27
2.5.1 命名 27
2.5.2 注释 29
2.5.3 格式 30
2.6 名称准则 31
2.6.1 大小写约定 31
2.6.2 通用命名约定 33
第3章 c# 数据的类型 36
3.1 数据的类型 36
3.1.1 数据的类型分类 36
3.1.2 预定义类型 37
3.1.3 关键字 39
3.1.4 初始化值类型 40
3.1.5 数据类型的转换 41
3.1.6 常数 42
3.1.7 枚举类型 42
3.1.8 变量 43
3.1.9 访问修饰符 44
3.2 装箱与拆箱 44
3.2.1 装箱和拆箱 45
3.2.2 装箱转换练习 45
3.2.3 取消装箱转换练习 45
第4章 运算符、表达式和语句 47
4.1 运算符和表达式 47
4.1.1 基本运算符 47
4.1.2 一元运算符 48
4.1.3 数学运算符 49
4.1.4 移位运算符 51
4.1.5 关系运算符 52
4.1.6 逻辑运算符 53
4.1.7 赋值运算符 54
4.1.8 算术溢出问题 55
4.2 表达式 56
4.3 基本语句 58
4.4 选择语句 59
4.4.1 if 语句 59
4.4.2 switch控制语句 61
4.5 迭代(循环)语句 62
4.5.1 do while 语句 62
4.5.2 for 循环 63
4.5.3 foreach 语句 64
4.5.4 while 语句 65
4.6 跳转语句 65
4.6.1 break 语句 66
4.6.2 continue 语句 66
4.6.3 return 语句 67
4.7 异常处理语句 68
4.7.1 catch 语句 68
4.7.2 finally 子句 69
4.7.3 catch和finally的结合 70
第5章 字符串操作 72
5.1 字符串 72
5.1.1 定义 72
5.1.2 字符串基本操作 73
5.1.3 格式化字符串 76
5.2 使用 stringbuilder 78
5.2.1 构造字符串 78
5.2.2 stringbuilder 常用方法 79
5.3 使用正则表达式 81
5.3.1 正则表达式 82
5.3.2 高级正则表达式操作 85
第6章 数组的使用 89
6.1 数组的概念 89
6.1.1 数组定义 89
6.1.2 多维数组 90
6.1.3 数组初始化 90
6.2 数组的基本操作方法 91
6.2.1 循环遍历数组 91
6.2.2 使用array 来操作数组 92
第7章 对象、类和结构 99
7.1 基本概念 99
7.1.1 类和对象 99
7.1.2 类的组成结构 100
7.1.3 面向对象的特性 100
7.2 类的实现方法 102
7.2.1 基本实现方法 102
7.2.2 复杂的类的实现 103
7.3 封装、继承、多态和抽象的实现 105
7.3.1 类的封装 105
7.3.2 类的继承 107
7.3.3 类的多态 109
7.3.4 类的抽象 112
7.3.5 抽象方法与虚方法的区别 113
7.3.6 重载 115
7.3.7 重写 119
7.3.8 隐藏 120
7.4 结构 121
第8章 类的成员 125
8.1 类的组成概述 125
8.2 静态类和静态成员 125
8.2.1 静态类 125
8.2.2 静态成员 126
8.3 构造函数 129
8.3.1 基本实现方法 129
8.3.2 构造函数重载 130
8.3.3 从其他构造函数来调用 131
8.3.4 构造函数的继承 132
8.3.5 私有构造函数 133
8.3.6 静态构造函数 133
8.4 析构函数 133
8.5 常数 135
8.6 字段 136
8.7 属性 137
8.7.1 属性的定义 137
8.7.2 静态属性 138
8.7.3 属性与继承 139
8.7.4 属性与多态 139
8.7.5 抽象属性 140
8.8 与类相关的运算符 141
8.9 方法(函数) 142
8.9.1 声明方法 142
8.9.2 使用方法参数 143
8.10 委托 144
8.10.1 委托的概念 144
8.10.2 声明委托 145
8.10.3 调用单一委托 145
8.10.4 多重委托 146
8.10.5 委托作为参数传递 147
8.11 事件 148
8.11.1 事件的概念 148
8.11.2 事件的实现 148
8.12 接口 150
8.13 索引器 152
第9章 命名空间和程序集 154
9.1 程序集 154
9.1.1 概述 154
9.1.2 创建单文件程序集 156
9.1.3 创建多文件程序集 157
9.1.4 查看程序集内容 159
9.2 命名空间 160
9.2.1 概述 160
9.2.2 使用别名 162
9.2.3 “.”和“::”运算符 164
第10章 泛型、迭代器和集合 165
10.1 泛型 165
10.1.1 泛型概述 165
10.1.2 泛型的实现 166
10.2 迭代器 169
10.2.1 迭代器概述 169
10.2.2 迭代器的实现 169
10.3 集合 173
10.3.1 集合的特点 174
10.3.2 集合的对象 174
10.4 常用集合对象的使用 175
10.4.1 list 175
10.4.2 hashtable 177
10.4.3 sortedlist 178
第11章 文件及流操作 180
11.1 c# 中的文件及流操作 180
11.1.1 文件和流 180
11.1.2 输入/输出操作的类型 181
11.2 文件存储管理 182
11.2.1 目录管理 182
11.2.2 文件管理 185
11.3 读/写文件 188
11.3.1 文本模式读/写 188
11.3.2 按二进制模式读/写 191
11.4 异步文件操作 193
11.5 文件的状态判断 195
11.6 流与字符串的转换 196
11.7 单词统计实例 198
11.8 xml 文件处理 200
11.8.1 xml文档的声明 201
11.8.2 xml文档类型定义 201
11.8.3 xml文档注释 201
11.8.4 xml标识及其内容 201
第12章 windows编程初步 205
12.1 交互式用户界面 205
12.1.1 windows窗体的组成 205
12.1.2 屏幕坐标 205
12.1.3 工作区坐标 206
12.1.4 窗体设计的基本方法 206
12.2 “windows 窗体”应用程序 207
12.2.1 第一个视窗程序 207
12.2.2 视窗程序的组织结构 210
12.3 windows 控件 211
12.3.1 常用控件介绍 211
12.3.2 控件使用示例 214
12.3.3 “属性”窗口 214
12.3.4 事件 215
12.3.5 事件的委托 216
12.3.6 方法 219
12.4 组件的使用 220
12.5 多文档界面及菜单 221
第13章 控件编程(一) 224
13.1 信息显示类控件 224
13.1.1 linklabel 224
13.1.2 statusstrip 226
13.1.3 progressbar 227
13.1.4 webbrowser 229
13.2 列表选择类控件 231
13.2.1 combobox 和 checkedlistbox 232
13.2.2 domainupdown 和 numericupdown 234
13.2.3 listbox 236
13.2.4 listview、checkbox和radiobutton 238
第14章 高级控件编程(二) 246
14.1 treeview 246
14.2 数值设置类控件 250
14.2.1 datetimepicker和monthcalendar 251
14.2.2 trackbar 252
14.3 图形类控件 254
14.4 文字编辑、命令按钮和对话框控件 256
14.4.1 文字编辑及按钮 256
14.4.2 对话框 263
14.5 分组布局类控件 266
第15章 数据库编程基础 270
15.1 数据连接、数据适配器和数据集 270
15.1.1 概述 270
15.1.2 建立连接和关闭连接 272
15.1.3 创建连接字符串 274
15.2 数据库编程过程 276
15.2.1 编程模型 276
15.2.2 使用数据源 277
15.2.3 数据适配器介绍 278
15.2.4 编程过程 280
15.3 使用数据绑定 282
第16章 高级数据库编程 285
16.1 使用控件显示数据库数据 285
16.1.1 数据绑定的形式 285
16.1.2 常用的数据绑定方案 286
16.1.3 dataview方法 287
16.1.4 显示northwind数据库中产品表products的数据信息 287
16.2 直接使用 sql 语句处理数据 292
16.2.1 sqlcommand对象 292
16.2.2 显示products表中发热的数据 293
16.3 数据查询和筛选 304
16.4 使用存储过程 309
16.4.1 创建命令和执行返回行的存储过程 309
16.4.2 执行引用存储过程的命令以前如何设置参数 310
16.4.3 简单存储过程的调用实现 310
第17章 使用数据处理类控件 313
17.1 数据控件概述 313
17.1.1 datagridview控件 313
17.1.2 bindingsource 组件 314
17.1.3 bindingnavigator控件 315
17.2 数据控件综合使用 316
17.2.1 实例功能概述 316
17.2.2 实例1:在datagridview 中显示数据 321
17.2.3 实例2:设置控件外观 323
17.2.4 实例3:与bindingnavigator 协作 324
17.2.5 实例4:在列中使用控件 325
17.2.6 实例5:在列中使用日期控件 327
17.3 在数据库中存储图像 331
17.3.1 存储原理 331
17.3.2 功能的具体实现 332
第18章 线程编程 340
18.1 线程概述 340
18.2 使用多个线程 340
18.2.1 多个线程的优点 340
18.2.2 多个线程的缺点 341
18.2.3 线程处理与应用程序设计 341
18.2.4 线程处理和异常 342
18.3 线程处理 342
18.3.1 线程定义 342
18.3.2 使用线程编程 342
18.4 线程同步 343
18.4.1 lock 关键字 343
18.4.2 监视器 344
18.4.3 同步事件和等待句柄 344
18.4.4 mutex 对象 345
18.5 创建和终止线程 346
18.5.1 示例原理讲解 346
18.5.2 使用线程的完整示例 347
18.6 计时器技术示例 349
18.7 线程池 350
第19章 语言集成查询(linq) 353
19.1 linq 简介 353
19.2 linq 查询简介 353
19.2.1 查询操作的三个部分 354
19.2.2 数据源 354
19.2.3 查询执行方法 355
19.3 基本查询操作 356
19.3.1 获取数据源 356
19.3.2 筛选 356
19.3.3 排序 357
19.3.4 分组 357
19.3.5 联接 358
19.3.6 选择(投影) 358
19.4 查询表达式 358
19.4.1 源数据及查询过程 358
19.4.2 查询变量 359
19.4.3 开始查询表达式 360
19.4.4 结束查询表达式 361
19.4.5 筛选、排序和联接 362
19.4.6 查询表达式中的子查询 363
19.5 查询子句 363
19.5.1 from 子句 363
19.5.2 复合 from 子句 364
19.5.3 where 子句 366
19.5.4 select 子句 367
19.5.5 group 子句 368
19.5.6 into 子句 372
19.5.7 orderby 子句 372
19.5.8 join 子句 373
19.6 在 c# 中编写查询综合训练 375
19.6.1 创建 c# 项目 375
19.6.2 创建内存中数据源 375
19.6.3 创建查询 376
19.6.4 执行查询 376
19.6.5 修改查询 377
第20章 网络编程 380
20.1 套接字基本概念 380
20.1.1 套接字工作原理 380
20.1.2 system.net 空间中的对象 387
20.2 实战一个完整的聊天程序 391
20.2.1 tcp异步套接字 391
20.2.2 信息交换 392
20.2.3 tcp server 394
20.2.4 tcp client 395
第21章 实战桌面搜索系统 397
21.1 需求分析 397
21.2 运行设计 397
21.2.1 程序主界面设计 397
21.2.2 选择目录功能 397
21.2.3 查找文件 398
21.2.4 处理文件 398
21.3 系统类图 399
21.4 系统主程序(app.cs) 399
21.5 目录选择模块(directorydialog.cs) 404
21.6 多线程文件检索模块(multithreadedfileinfo.cs) 408
第22章 实战网络监视系统 411
22.1 需求分析 411
22.2 运行设计 411
22.3 主窗体模块(packetmonitorform.cs) 412
22.4 数据包信息模块(packetform.cs) 416
22.5 数据包模块(packet.cs) 417
1.1 visual studio.net集成开发环境初识 1
1.1.1 vs.net安装 1
1.1.2 vs.net的启动 2
1.1.3 新建或打开一个项目 3
1.1.4 解决方案的基本构成 5
1.1.5 解决方案的常用操作 5
1.2 常用的程序类型介绍 6
1.2.1 项目类型 6
1.2.2 控制台应用程序 7
1.2.3 windows 应用程序 7
1.2.4 web 应用程序 8
1.3 .net framework 8
1.3.1 .net framework 实现目标 9
1.3.2 .net framework 的主要组件 9
1.3.3 公共语言运行库的优势 10
1.3.4 .net framework类库 10
1.3.5 客户端应用程序开发 11
1.3.6 服务器应用程序开发 11
1.4 ide 的基本使用方法 12
.1.4.1 代码编写 12
1.4.2 代码编辑器 14
第2章 c# 编程起步 15
2.1 第一个c# 程序 15
2.1.1 编写第一个 c# 程序 15
2.1.2 使用命令行方式编程 18
2.1.3 程序代码分析 19
2.2 扩展示例练习 20
2.2.1 使用系统库 21
2.2.2 带参数的main()方法程序 21
2.2.3 参数设置 22
2.2.4 带返回值的程序 23
2.3 通用编码方法 24
2.4 生成程序和调试程序 26
2.4.1 生成程序 26
2.4.2 调试程序 26
2.5 编码方法 27
2.5.1 命名 27
2.5.2 注释 29
2.5.3 格式 30
2.6 名称准则 31
2.6.1 大小写约定 31
2.6.2 通用命名约定 33
第3章 c# 数据的类型 36
3.1 数据的类型 36
3.1.1 数据的类型分类 36
3.1.2 预定义类型 37
3.1.3 关键字 39
3.1.4 初始化值类型 40
3.1.5 数据类型的转换 41
3.1.6 常数 42
3.1.7 枚举类型 42
3.1.8 变量 43
3.1.9 访问修饰符 44
3.2 装箱与拆箱 44
3.2.1 装箱和拆箱 45
3.2.2 装箱转换练习 45
3.2.3 取消装箱转换练习 45
第4章 运算符、表达式和语句 47
4.1 运算符和表达式 47
4.1.1 基本运算符 47
4.1.2 一元运算符 48
4.1.3 数学运算符 49
4.1.4 移位运算符 51
4.1.5 关系运算符 52
4.1.6 逻辑运算符 53
4.1.7 赋值运算符 54
4.1.8 算术溢出问题 55
4.2 表达式 56
4.3 基本语句 58
4.4 选择语句 59
4.4.1 if 语句 59
4.4.2 switch控制语句 61
4.5 迭代(循环)语句 62
4.5.1 do while 语句 62
4.5.2 for 循环 63
4.5.3 foreach 语句 64
4.5.4 while 语句 65
4.6 跳转语句 65
4.6.1 break 语句 66
4.6.2 continue 语句 66
4.6.3 return 语句 67
4.7 异常处理语句 68
4.7.1 catch 语句 68
4.7.2 finally 子句 69
4.7.3 catch和finally的结合 70
第5章 字符串操作 72
5.1 字符串 72
5.1.1 定义 72
5.1.2 字符串基本操作 73
5.1.3 格式化字符串 76
5.2 使用 stringbuilder 78
5.2.1 构造字符串 78
5.2.2 stringbuilder 常用方法 79
5.3 使用正则表达式 81
5.3.1 正则表达式 82
5.3.2 高级正则表达式操作 85
第6章 数组的使用 89
6.1 数组的概念 89
6.1.1 数组定义 89
6.1.2 多维数组 90
6.1.3 数组初始化 90
6.2 数组的基本操作方法 91
6.2.1 循环遍历数组 91
6.2.2 使用array 来操作数组 92
第7章 对象、类和结构 99
7.1 基本概念 99
7.1.1 类和对象 99
7.1.2 类的组成结构 100
7.1.3 面向对象的特性 100
7.2 类的实现方法 102
7.2.1 基本实现方法 102
7.2.2 复杂的类的实现 103
7.3 封装、继承、多态和抽象的实现 105
7.3.1 类的封装 105
7.3.2 类的继承 107
7.3.3 类的多态 109
7.3.4 类的抽象 112
7.3.5 抽象方法与虚方法的区别 113
7.3.6 重载 115
7.3.7 重写 119
7.3.8 隐藏 120
7.4 结构 121
第8章 类的成员 125
8.1 类的组成概述 125
8.2 静态类和静态成员 125
8.2.1 静态类 125
8.2.2 静态成员 126
8.3 构造函数 129
8.3.1 基本实现方法 129
8.3.2 构造函数重载 130
8.3.3 从其他构造函数来调用 131
8.3.4 构造函数的继承 132
8.3.5 私有构造函数 133
8.3.6 静态构造函数 133
8.4 析构函数 133
8.5 常数 135
8.6 字段 136
8.7 属性 137
8.7.1 属性的定义 137
8.7.2 静态属性 138
8.7.3 属性与继承 139
8.7.4 属性与多态 139
8.7.5 抽象属性 140
8.8 与类相关的运算符 141
8.9 方法(函数) 142
8.9.1 声明方法 142
8.9.2 使用方法参数 143
8.10 委托 144
8.10.1 委托的概念 144
8.10.2 声明委托 145
8.10.3 调用单一委托 145
8.10.4 多重委托 146
8.10.5 委托作为参数传递 147
8.11 事件 148
8.11.1 事件的概念 148
8.11.2 事件的实现 148
8.12 接口 150
8.13 索引器 152
第9章 命名空间和程序集 154
9.1 程序集 154
9.1.1 概述 154
9.1.2 创建单文件程序集 156
9.1.3 创建多文件程序集 157
9.1.4 查看程序集内容 159
9.2 命名空间 160
9.2.1 概述 160
9.2.2 使用别名 162
9.2.3 “.”和“::”运算符 164
第10章 泛型、迭代器和集合 165
10.1 泛型 165
10.1.1 泛型概述 165
10.1.2 泛型的实现 166
10.2 迭代器 169
10.2.1 迭代器概述 169
10.2.2 迭代器的实现 169
10.3 集合 173
10.3.1 集合的特点 174
10.3.2 集合的对象 174
10.4 常用集合对象的使用 175
10.4.1 list 175
10.4.2 hashtable 177
10.4.3 sortedlist 178
第11章 文件及流操作 180
11.1 c# 中的文件及流操作 180
11.1.1 文件和流 180
11.1.2 输入/输出操作的类型 181
11.2 文件存储管理 182
11.2.1 目录管理 182
11.2.2 文件管理 185
11.3 读/写文件 188
11.3.1 文本模式读/写 188
11.3.2 按二进制模式读/写 191
11.4 异步文件操作 193
11.5 文件的状态判断 195
11.6 流与字符串的转换 196
11.7 单词统计实例 198
11.8 xml 文件处理 200
11.8.1 xml文档的声明 201
11.8.2 xml文档类型定义 201
11.8.3 xml文档注释 201
11.8.4 xml标识及其内容 201
第12章 windows编程初步 205
12.1 交互式用户界面 205
12.1.1 windows窗体的组成 205
12.1.2 屏幕坐标 205
12.1.3 工作区坐标 206
12.1.4 窗体设计的基本方法 206
12.2 “windows 窗体”应用程序 207
12.2.1 第一个视窗程序 207
12.2.2 视窗程序的组织结构 210
12.3 windows 控件 211
12.3.1 常用控件介绍 211
12.3.2 控件使用示例 214
12.3.3 “属性”窗口 214
12.3.4 事件 215
12.3.5 事件的委托 216
12.3.6 方法 219
12.4 组件的使用 220
12.5 多文档界面及菜单 221
第13章 控件编程(一) 224
13.1 信息显示类控件 224
13.1.1 linklabel 224
13.1.2 statusstrip 226
13.1.3 progressbar 227
13.1.4 webbrowser 229
13.2 列表选择类控件 231
13.2.1 combobox 和 checkedlistbox 232
13.2.2 domainupdown 和 numericupdown 234
13.2.3 listbox 236
13.2.4 listview、checkbox和radiobutton 238
第14章 高级控件编程(二) 246
14.1 treeview 246
14.2 数值设置类控件 250
14.2.1 datetimepicker和monthcalendar 251
14.2.2 trackbar 252
14.3 图形类控件 254
14.4 文字编辑、命令按钮和对话框控件 256
14.4.1 文字编辑及按钮 256
14.4.2 对话框 263
14.5 分组布局类控件 266
第15章 数据库编程基础 270
15.1 数据连接、数据适配器和数据集 270
15.1.1 概述 270
15.1.2 建立连接和关闭连接 272
15.1.3 创建连接字符串 274
15.2 数据库编程过程 276
15.2.1 编程模型 276
15.2.2 使用数据源 277
15.2.3 数据适配器介绍 278
15.2.4 编程过程 280
15.3 使用数据绑定 282
第16章 高级数据库编程 285
16.1 使用控件显示数据库数据 285
16.1.1 数据绑定的形式 285
16.1.2 常用的数据绑定方案 286
16.1.3 dataview方法 287
16.1.4 显示northwind数据库中产品表products的数据信息 287
16.2 直接使用 sql 语句处理数据 292
16.2.1 sqlcommand对象 292
16.2.2 显示products表中发热的数据 293
16.3 数据查询和筛选 304
16.4 使用存储过程 309
16.4.1 创建命令和执行返回行的存储过程 309
16.4.2 执行引用存储过程的命令以前如何设置参数 310
16.4.3 简单存储过程的调用实现 310
第17章 使用数据处理类控件 313
17.1 数据控件概述 313
17.1.1 datagridview控件 313
17.1.2 bindingsource 组件 314
17.1.3 bindingnavigator控件 315
17.2 数据控件综合使用 316
17.2.1 实例功能概述 316
17.2.2 实例1:在datagridview 中显示数据 321
17.2.3 实例2:设置控件外观 323
17.2.4 实例3:与bindingnavigator 协作 324
17.2.5 实例4:在列中使用控件 325
17.2.6 实例5:在列中使用日期控件 327
17.3 在数据库中存储图像 331
17.3.1 存储原理 331
17.3.2 功能的具体实现 332
第18章 线程编程 340
18.1 线程概述 340
18.2 使用多个线程 340
18.2.1 多个线程的优点 340
18.2.2 多个线程的缺点 341
18.2.3 线程处理与应用程序设计 341
18.2.4 线程处理和异常 342
18.3 线程处理 342
18.3.1 线程定义 342
18.3.2 使用线程编程 342
18.4 线程同步 343
18.4.1 lock 关键字 343
18.4.2 监视器 344
18.4.3 同步事件和等待句柄 344
18.4.4 mutex 对象 345
18.5 创建和终止线程 346
18.5.1 示例原理讲解 346
18.5.2 使用线程的完整示例 347
18.6 计时器技术示例 349
18.7 线程池 350
第19章 语言集成查询(linq) 353
19.1 linq 简介 353
19.2 linq 查询简介 353
19.2.1 查询操作的三个部分 354
19.2.2 数据源 354
19.2.3 查询执行方法 355
19.3 基本查询操作 356
19.3.1 获取数据源 356
19.3.2 筛选 356
19.3.3 排序 357
19.3.4 分组 357
19.3.5 联接 358
19.3.6 选择(投影) 358
19.4 查询表达式 358
19.4.1 源数据及查询过程 358
19.4.2 查询变量 359
19.4.3 开始查询表达式 360
19.4.4 结束查询表达式 361
19.4.5 筛选、排序和联接 362
19.4.6 查询表达式中的子查询 363
19.5 查询子句 363
19.5.1 from 子句 363
19.5.2 复合 from 子句 364
19.5.3 where 子句 366
19.5.4 select 子句 367
19.5.5 group 子句 368
19.5.6 into 子句 372
19.5.7 orderby 子句 372
19.5.8 join 子句 373
19.6 在 c# 中编写查询综合训练 375
19.6.1 创建 c# 项目 375
19.6.2 创建内存中数据源 375
19.6.3 创建查询 376
19.6.4 执行查询 376
19.6.5 修改查询 377
第20章 网络编程 380
20.1 套接字基本概念 380
20.1.1 套接字工作原理 380
20.1.2 system.net 空间中的对象 387
20.2 实战一个完整的聊天程序 391
20.2.1 tcp异步套接字 391
20.2.2 信息交换 392
20.2.3 tcp server 394
20.2.4 tcp client 395
第21章 实战桌面搜索系统 397
21.1 需求分析 397
21.2 运行设计 397
21.2.1 程序主界面设计 397
21.2.2 选择目录功能 397
21.2.3 查找文件 398
21.2.4 处理文件 398
21.3 系统类图 399
21.4 系统主程序(app.cs) 399
21.5 目录选择模块(directorydialog.cs) 404
21.6 多线程文件检索模块(multithreadedfileinfo.cs) 408
第22章 实战网络监视系统 411
22.1 需求分析 411
22.2 运行设计 411
22.3 主窗体模块(packetmonitorform.cs) 412
22.4 数据包信息模块(packetform.cs) 416
22.5 数据包模块(packet.cs) 417
跟我学C#
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!