标题：C#编程网络大讲堂
图书简介
书名： C#编程网络大讲堂  书号： 978-7-302-23973-4 
版次： 1 
作者：郑千忠 邓德华等
出版社：清华大学出版社
页数： 680 
定价： 79(附光盘)
内容要点
本书全面介绍C#编程知识，全书共分4篇18章，内容包括：C#基础入门篇（第1～9章），介绍C#的开发环境和基础知识；C#实际应用篇（第10～12章），介绍创建Windows窗体应用程序和各类Windows控件的使用，MDI程序设计，ADO.N E T数据库访问技术等内容；C#高级编程篇（第13～17章），本篇是本书的重点之一，介绍GDI+绘图，文件和注册表操作，以及XML编程、LINQ查询、Windows高级操作等知识；C#实例开发篇（第18章），介绍影碟出租系统综合案例。本书可以作为C#的基础入门学习书籍，也可以帮助中级读者提高编程技能，掌握面向实践的应用技能。
图书目录
绪论 1
0.1 .NET与C# 1
0.2 公共语言运行时简介 3
0.3 .NET Framework类库概述 8
0.4 程序集 10
0.5 命名空间 13
0.6 Visual Studio 2008简介 19
0.7 用C#创建.NET应用程序 20
0.8 Windows Communicatio
nFoundation 23
0.9 Windows Workflow Foundation 23
第一篇 C#基础入门篇
第1章 创建C#开发环境 26
1.1 关于Visual Studio 2008 的硬件配置
要求 26
1.2 Vista安装Visual Studio 2008的问题 27
1.3 Visual Studio 2008和SQL Server 2005安装
问题 28
1.4 C盘空间不够时如何安装Visual Studio
2008 30
1.5 初学者安装Visual Studio 2008的问题 31
1.6 安装Visual Studio 2008报.NET
Framework错 32
1.7 Visual Studio 2008版本打开低版本
转换失败 34
1.8 Visual Studio 2008 打开一个代码窗口但
同时却关闭一个原来的代码窗口 36
1.9 关于Visual Studio的显示的一个问题 37
1.10 卸载Visual Studio 2008 SP1试用版 38
1.11 IIS、SQL Server 2005、Visual Studio 2008
安装次序引起的问题 40
第2章 C#基础语法 43
2.1 C#各种类型变量默认初始值 43
2.2 变量自增问题 45
2.3 C#中的var是什么类型 48
2.4 匿名类型 50
2.5 C#如何声明常量 51
2.6 C#的数据类型 53
2.7 C#中的算术运算符 55
2.8 C#中的+=是什么意思 56
2.9 关系运算符==和！==问题 58
2.10 逻辑与条件有什么区别吗 60
2.11 三目运算问题 62
2.12 移位运算符 63
2.13 C#中运算符优先级代码 64
2.14 C#中is、as关键字的用法 66
2.15 C#预处理指令 68
2.16 C#数据类型转换的问题 72
2.17 C#装箱与拆箱问题 75
第3章 控制语句 78
3.1 C#中if语句能不能不跟布尔表达式 78
3.2 if语句嵌套问题 81
3.3 关于if语句的使用问题 84
3.4 switch语句问题 87
3.5 运用for循环解决组合问题 92
3.6 使用while循环查找数组中最小的值 97
3.7 C#中的do…while和while语句问题 100
3.8 foreach循环问题 102
3.9 跳转语句goto用法问题 104
3.10 C#语句中break和continue的区别 106
3.11 C#中return的使用方法 109
第4章 数组、接口和枚举 112
4.1 C#中数组的区别 112
4.2 C#数组问题 113
4.3 访问数组元素出错 116
4.4 C#多维数组问题 119
4.5 数组的数组遍历问题 123
4.6 将两个一维数组合并成一个二维数组 127
4.7 如何让二维数组的下标从[1,1]开始 129
4.8 C#怎么复制数组 131
4.9 C#数组排序问题 132
4.10 如何将锯齿数组中每行的最小值存放到
一维数组中 135
4.11 接口变量能否给普通对象赋值 137
4.12 求助C#枚举问题 139
4.13 IEnumerator接口问题 142
第5章 面向对象基础 145
5.1 面向对象编程 145
5.2 向对象编程的基本特征 147
5.3 定义一个C#类用于计算正方形面积 148
5.4 怎样定义结构和初始化 150
5.5 静态数据成员与非静态数据成员的
区别 151
5.6 const和readonly的区别 153
5.7 帮忙写一个验证用户输入数据的方法 154
5.8 关于ref传参数问题 161
5.9 在C#中怎么使用out关键字 163
5.10 请教C#中一个方法重载的问题 164
5.11 C#里定义静态方法会不会影响
系统性能 166
5.12 静态类中静态方法参数前面的this
的意义 168
5.13 属性和字段问题 173
5.14 调用构造函数问题 178
5.15 关于析构函数的疑惑 181
第6章 面向对象的关键技术 183
6.1 继承问题 183
6.2 C#中virtual和override的用法 188
6.3 base关键字的疑问 192
6.4 C#中隐藏基类方法的作用 194
6.5 为什么不能调用抽象类中的公共方法 196
6.6 关于sealed关键字的问题 200
6.7 关于partial关键字的一个问题 204
6.8 C#接口问题 206
6.9 一个接口可以继承自两个接口吗 212
第7章 字符串和正则表达式 213
7.1 C#字符串类型变量最长支持的字符数 213
7.2 分析String类无法被继承 214
7.3 如何获取字符串的长度 216
7.4 比较两个字符串相等最快的方法 217
7.5 字符串定位问题 222
7.6 去掉字符串中指定的子字符串的问题 225
7.7 截取字符串的问题 228
7.8 C#中Split()方法的用法 232
7.9 字符串中忽略大小写的比较 238
7.10 String字符串与StringBuilder字符串
的区别 242
7.11 如何理解Format格式化 246
7.12 正则表达式问题 250
7.13 简要介绍Regex类的Match和Matches
方法 253
第8章 委托与事件 257
8.1 C#中的委托 257
8.2 C#中有关委托的用法 258
8.3 C#中的匿名委托 262
8.4 Lambda表达式来自哪里 264
8.5 C#多重委托问题 267
8.6 C#中事件的实现机制 269
8.7 关于事件的一个小问题 271
第9章 异常处理 278
9.1 关于C#异常 278
9.2 关于try语句的嵌套 284
9.3 C#中的catch异常 286
9.4 如何获取出现异常的代码位置 288
9.5 多个catch为什么只执行一个 290
9.6 C#中为什么要用throw关键字再次
引发异常 293
9.7 怎么定义一个异常类型 297
第二篇 C#实际应用篇
第10章 创建Windows窗体应用程序 304
10.1 C#中主窗体对象的创建 304
10.2 如何生成一个所有控件都能用的对象 306
10.3 Form和Control的区别 309
10.4 单击Button按钮变颜色 310
10.5 如何删除TextBox控件中的一行内容 313
10.6 关于RichTextBox控件问题 317
10.7 如何获取MaskedTextBox的值 320
10.8 如何使Label控件中的文本竖排显示 321
10.9 用LinkLabel控件打开所需浏览的
网站 322
10.10 ImageList中存的是图片还是路径 325
10.11 PictureBox控件问题 327
10.12 RadioButton按钮问题 330
10.13 如何遍历所有的CheckBox控件 332
10.14 如何更改ListBox控件项的值 336
10.15 关于CheckListBox问题 338
10.16 联动ComboBox问题 341
10.17 ListView添加数据问题 343
10.18 Panel控件不能显示问题 344
10.19 如何使用GroupBox控件让按钮
分组 345
10.20 如何使用Timer组件编写文本或图片
晃动的程序 347
10.21 NotifyIcon组件问题 349
10.22 如何为自定义控件设定其属性
可选值 351
第11章 MDI程序设计 356
11.1 在C#中制作MDI应用程序 356
11.2 如何限制MDI子窗体重复打开 364
11.3 如何调整MDI子窗体出现位置 370
11.4 想关闭父窗体中其他开着的子窗体怎
么办 371
11.5 去除MDI子窗体最大化的最大化等
按钮 374
11.6 C#中单击MenuStrip后某项怎
么变灰 378
11.7 在MDI中如何让菜单根据子窗口
进行变化 383
11.8 如何向菜单和菜单项中添加图片 386
11.9 不能显示快捷菜单 388
11.10 如何使菜单项单击事件与工具栏单击
事件一一对应 390
11.11 工具栏按钮怎样只显示文字，或者图像，或者二者都显示？ 393
11.12 在状态栏显示登录用户的问题 396
第12章 使用ADO.N E T数据库访问
技术 401
12.1 ADO.N E T能完全取代ADO吗 401
12.2 连接字符串问题 404
12.3 关于SqlConnection问题 409
12.4 从数据库中获取数据的问题 411
12.5 ExecuteReader方法要求已打开且可用 
的连接 417
12.6 关于SqlDataAdapter的问题 421
12.7 ADO.N E T如何调用存储过程 423
12.8 .NET事务与SQL事务的区别 427
12.9 为什么可以更新DataSet却更新不了
数据库 429
12.10 DataSet和DataTale插入数据问题 430
12.11 关于DataSet中的DataTable排序
问题 432
12.12 数据绑定问题 433
12.13 如何为ComBox控件绑定数据 434
12.14 怎么得到DataGridView控件的值 435
第三篇 C#高级编程篇
第13章 GDI+绘图 442
13.1 C#绘图的初级问题 442
13.2 GDI绘图的一个精度问题 446
13.3 如何取得某种图片的每个像素的
RGB值 449
13.4 怎么通过鼠标的x、y值画图 450
13.5 为何使用brush运行出错 455
13.6 用什么自绘图形 457
13.7 窗体中的图片绘制网格问题 459
13.8 如何绘制带立体感的圆柱 462
13.9 在窗体上打印文字 464
13.10 如何把窗口的图像转成图像文件 466
13.11 ScaleTransform方法的使用 469
13.12 如何可以做出柱状图 471
13.13 winform打印的麻烦问题 475
13.14 如何在颜色对话框选中指定颜色 480
13.15 如何显示用户选中的字体 482
第14章 文件和注册表操作 484
14.1 对txt文件的操作 484
14.2 创建目录的问题 487
14.3 有关System.I O.Directory.GetFiles的
使用方法 489
14.4 C#文件删除问题 493
14.5 求助一个小代码 494
14.6 一个关于System.I O.Directory的问题 496
14.7 获得文件的大小的问题 499
14.8 操作判断文件是否为空的方法 501
14.9 实现对文件的属性进行添加 504
14.10 使用File.Copy时的疑问 505
14.11 C#中file://的含义 509
14.12 C#触发了两次打开对话框 511
14.13 如何提取SaveFileDialog的保存
路径 514
14.14 C#读取文本文件的疑问 517
14.15 文件操作问题 520
14.16 怎么把以下程序读到内存 522
14.17 C#注册表操作问题 528
14.18 C#操作注册表过程的问题 532
第15章 XML编程 535
15.1 C#中XML文档的应用 535
15.2 如何学习C#操作XML的方法 536
15.3 XML解析节点的初级问题 539
15.4 XML实现用户登录的问题 544
15.5 有关C#中XML读写的问题 547
15.6 怎么把XML数据读入TreeView控件
显示 552
15.7 如何修改XML指定项 557
15.8 为什么要有MSXML 559
15.9 无法XML序列化问题 562
15.10 如何通过XML的子节点来删除它的
父节点 567
15.11 如何将数据表转化成XML文件并
保存 569
第16章 LINQ查询 573
16.1 LINQ 573
16.2 谁能告诉我LINQ查询表达式的特性 574
16.3 这样测试LINQ查询与普通查询的效率
对不对 575
16.4 怎么连接where语句中条件 578
16.5 LINQ动态排序问题 584
16.6 LINQ查询分组问题 588
16.7 如何使用LINQ实现这个查询 592
16.8 let关键字的意思 597
16.9 如何使用LINQ to Object获取一个
数据集 598
16.10 使用O/R设计器时为什么没有生成
自动属性 599
16.11 关于LINQ向数据库插入数据问题 606
16.12 LINQ中DELETE语句与REFERENC
约束冲突 607
16.13 LINQ更新数据数据问题 609
第17章 Windows高级操作 611
17.1 C# Windows服务编程 611
17.2 如何用C#编程操作Windows系统
服务 612
17.3 ServiceProcess 这个不属于System的
命名空间 615
17.4 怎么启动和停止Windows服务 616
17.5 多线程的方法 618
17.6 线程里传值后，线程里的控件不能
显示值 620
17.7 C#线程传值 622
17.8 线程调用方法如何传递类 625
17.9 同步方法 627
17.10 如何线程同步，而不出现死锁 628
17.11 程序集 632
17.12 C#程序集的问题 633
17.13 动态添加程序集查找目录 634
17.14 C#中源文件与程序集的关系 638
17.15 如何提取Word中的内容 641
17.16 C#操作Word文件打开时出错 645
第四篇 C#实例开发篇
第18章 影碟出租系统 650
18.1 系统分析 650
18.2 数据库设计 652
18.3 系统基础模块 653
18.4 实现登录和主界面 656
18.5 人员管理模块 663
18.6 影碟出租管理模块 668
18.7 搜索影碟 678