第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.3NET 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.4IDE的基本使用方法 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.3Windows控件 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.1TreeView 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.2System.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