标题：新手学VisualC#2008程序设计
图书信息
作　者：康莉  等编著  
张逸  审校
出 版 社： 电子工业出版社
出版时间： 2009-1-1
页　数：520页
开　本： 16开
ISBN 9787121077920
分类： 图书 >> 计算机/程序设计>> Visual C# 2008
定价：￥59.80元（含光盘1张）
宣传语
本书特色：
理论结合实际，自学门槛低，内容新颖丰富
直接面向实际开发，以应用目的为驱动
案例贴近现实，代码注释规范、标准
知识点丰富，面向C#开发的各个领域
提供两个完整的案例，讲解从分析设计到代码实现
作者的提示
这是一本讲述Visual C# 2008的书，主要的目的是让读者接触、了解并使用C#编程语言进行项目开发。作为一种流行的编程语言，Visual C# 2008带给开发人员一个广阔的开发空间，从简单的控制台程序到传统的桌面应用程序开发、分布式应用、Web应用程序以及Web服务等，Visual C# 2008都提供了全面的支持。
学习一门编程语言就好像经历一次旅行，旅行道路或宽阔光明，或曲折幽暗，想要欣赏到最真实自然的风景，还需要旅行者坚持不懈地追求和努力。本书为立志于从事C#编程的初、中级人员提供了学习指南。在内容的编排和目录的组织上，力求让读者快速地建立一个Visual C# 2008知识结构的框架。在每章、每节中通过辅以大量的代码，让读者对知识点进行实践性的掌握。
本书特色
1．配有学习论坛，读者可以在上面讨论技术，笔者会及时回答读者提问，并提供各种技术文章，帮助读者提高开发水平。
2．简洁、明了。使用简明易懂的语言对知识点进行讲解，避免使用废话、复杂句，影响读者的阅读。
3．知识要点组织明确。渐进式的知识组织，让读者一步一步地形成一个知识体系。
4．大量图解和实例，加深读者印象。对于书中的实例辅以示意图形或程序运行结果截图，加深读者对知识点的印象。
5．配有2个综合案例。其中时间跟踪系统很有意思，目前其他书籍中都没有介绍过，读者可以从中体会项目管理的精髓。
6．光盘内容丰富。赠送了丰富的视频资源和案例源文件，具体内容参考光盘内容介绍。
本书结构
一、源程序
主要包括书中涉及的所有源程序文件，全部按照章节整理。
二、免费赠送的学习资料
1．.NET网络开发技术电子书（182页）
第0章  Web开发基础知识        第4章  标准服务器控件
第1章  走进.NET 2.0        第5章  HTML服务器控件
第2章  类、对象和命名空间        第6章  数据验证控件
第3章  .NET 2.0核心对象        
2．Visual C# 2005开发技术电子书（199页）
第1章  C#与.NET Framework简介        第6章  抽象类、多态及接口
第2章  C#程序设计基础        第7章  处理异常和错误
第3章  与用户交互        第8章  XML编程
第4章  常用控件        第9章  应用程序部署
第5章  类        第10章  时间跟踪系统
3．.NET数据库开发技术电子书（154页）
第1章  操作数据库        第5章  XML编程
第2章  使用数据库        第6章  数据映射方案
第3章  使用数据绑定和DataSet        第7章  NHibernate事务、并发和缓存
第4章  SQL Server XML的功能        第8章  NHibernate高级数据映射和查询
4．.net Ajax开发电子书（124页）
第1章：初识.NET AJAX
第2章：AJAX Control Toolkit中的文本输入处理
第3章：基于AJAX的电子邮件处理
5．.NET 2.0入门视频（4个）
Visual Studio的安装和配置；
.NET Web程序开发入门；
.NET程序调试方法；
运行eBookShop实例。
6．.NET 3.5入门视频（6个）
创建.NET程序
创建窗体应用程序
创建控制台应用程序
打开现有程序
读取SQLExpress数据
使用SQLExpress建立数据库
7．常见的典型系统（5个）
博客引擎：一个结构精炼但功能强大的博客系统，它充分利用了.NET 2.0的新特性，比如母版页、主题、国际化等界面特性，还使用了提供者模型实现了一个可扩展的数据访问层。
时间跟踪系统：在工作团队内部，经常会列出项目计划、项目人员等信息。使用时间跟踪系统，将这些计划信息录入系统，在项目完成时录入实际完成信息，这样可以跟踪项目进度。通过自定义的报表生成，可以将预计与实际完成的时间进行比较。
图书馆管理系统：该管理信息系统具有一个典型的Windows窗体应用程序界面，并完成图书馆日常工作中大部分常见的流程。本系统具备的功能有图书入库、借书、还书、图书管理、借阅人员管理、系统使用人员管理和惩罚管理等。
在线求职系统：本系统可以为企业和求职者提供一个互动的供求平台。企业需要查看网站人才库中感兴趣的求职者信息，发布公司用人需求，并建立与求职者的互动。求职者需要查看企业所发布的招聘信息，并能通过求职网站了解公司的基本资料，求职者与企业都要方便地收藏感兴趣的信息，以便于进一步的相互沟通与交流。
中小型企业网站：本系统为企业提供了一个展示的平台，向外界提供企业产品资料、企业专业人员、企业的客户信誉，以及企业的相关新闻和联系方式。
作者
2008年10月
目 录
本书学习导航如下：
        要认识C#开发并掌握C#语言的语法，请仔细阅读第1～9章
        要了解Visual Studio 2008的全局环境，请仔细阅读第2章
        要学习Visual Studio 2008的界面开发的关键，请仔细阅读第6章
        要学习C#语言的面向对象开发基础，请仔细阅读第7～13章
        要掌握C#结合数据库的开发，请仔细阅读第2～6章、第14～15章和第21章的实例
        要学习.NET 3.5框架新增加的内容，请仔细阅读第2章和第16章
        要掌握C#网络编程的特点和技术，请仔细阅读第17～19章
        建议初学者全面学习本书，结合光盘资源练习实例，细读勤练必有收获
第1篇 C#基础
 1 C#语言和框架概述      18
1.1  .NET 3.5框架        18
1.1.1  .NET 3.5框架支持的开发语言        18
1.1.2  C#语言的特色        19
1.1.3  C#语言的运行机制        19
1.1.4  C#语言的底层类库        20
1.2  编写C#语言        21
1.2.1  用记事本编写Hello World程序并编译程序        21
1.2.2  分析代码格式        21
1.3  小结        22
2 Visual Studio 2008 开发工具概述      23
2.1  Visual Studio 简介        23
2.1.1  支持.NET的Visual Studio        23
2.1.2  Visual Studio 2008和
Visual Studio 2005        24
2.1.3  简化版本的开发工具——Visual Studio Express        25
2.2  Visual Studio 2008的安装        25
2.2.1  Visual Studio 2008 IDE安装        26
2.2.2  MSDN安装        27
2.3  Visual Studio 2008 IDE界面概览        27
2.3.1  进入Visual Studio 2008工作界面        28
2.3.2  菜单栏        29
2.3.3  工具栏        29
2.3.4  工具箱        30
2.3.5  属性窗口        30
2.3.6  解决方案资源管理器        31
2.3.7  服务器资源管理器        32
2.4  使用MSDN        32
2.4.1  进入MSDN        32
2.4.2  索引        33
2.4.3  搜索        34
2.5  创建应用程序        35
2.5.1  控制台应用程序        35
2.5.2  Windows 应用程序        36
2.5.3  .NET 3.5网站        37
2.6  小结        38
3 变量、运算符和表达式      39
3.1  数据类型        39
3.1.1  值类型        39
3.1.2  引用类型        39
3.1.3  类型转换        40
3.1.4  装箱和拆箱        41
3.2  变量和常量        41
3.2.1  声明和使用常量        42
3.2.2  声明和使用变量        42
3.2.3  变量的作用域        43
3.3  运算符        43
3.3.1  算术运算符        44
3.3.2  字符串运算符和索引器        44
3.3.3  赋值运算符        45
3.3.4  逻辑运算符        45
3.3.5  位运算符        46
3.3.6  其他运算符        47
3.3.7  运算符的优先级        47
3.4  小结        47
4 程序的流程控制      48
4.1  流程控制        48
4.1.1  使用if语句实现分支        48
4.1.2  使用switch语句实现分支        50
4.1.3  使用while语句实现循环        51
4.1.4  使用for语句实现循环        52
4.1.5  使用break/continue控制循环        53
4.1.6  使用#define进行条件编译        54
4.2  程序的结构        54
4.2.1  用类搭建程序        55
4.2.2  使用命名空间        56
4.2.3  寻找程序的入口        57
4.3  异常处理        57
4.4  小结        58
5 C# 2008语言特色      59
5.1  var匿名类型        59
5.2  扩展方法        60
5.3  Lambda表达式        60
5.4  对象和集合的匿名初始化        61
5.5  匿名数组        62
5.6  表达式树        63
5.7  小结        63
第2篇 C#界面编程
 6 与用户交互      66
6.1  菜单和工具栏        66
6.2  鼠标事件        68
6.3  键盘事件处理        69
6.4  通用对话框        69
6.5  编写多文档界面应用程序        71
6.6  进度条        73
6.7  PictureBox图片框控件        74
6.8  文本框控件与按钮控件        76
6.9  Windows窗体及事件        76
6.10  复选框和单选按钮        77
6.11  列表框        78
6.12  带复选框的列表框        79
6.13  小结        81
第3篇 C#对象编程
 7 类      84
7.1  定义类        84
7.1.1  声明类        84
7.1.2  声明类的静态特征        85
7.1.3  声明类的动态行为        86
7.1.4  创建类实例        86
7.1.5  继承类        87
7.2  VS..NET中的OOP工具        87
7.2.1  使用类视图窗口        87
7.2.2  使用对象浏览器        88
7.3  属性详谈        89
7.3.1  域和属性        89
7.3.2  静态属性        90
7.3.3  重载属性        91
7.4  方法详谈        92
7.4.1  方法的参数        92
7.4.2  使用构造函数        93
7.4.3  使用析构函数        93
7.4.4  使用静态方法        94
7.4.5  重载方法        94
7.4.6  访问父类方法        95
7.5  小结        96
8 抽象类、多态及接口      98
8.1  抽象类        98
8.1.1  什么是抽象类        98
8.1.2  声明抽象类        99
8.1.3  实现抽象方法        101
8.2  多态        102
8.2.1  什么是多态        102
8.2.2  多态的实现        102
8.2.3  多态和重写        104
8.3  接口        104
8.3.1  什么是接口        104
8.3.2  声明接口        105
8.3.3  实现接口        106
8.4  小结        111
第4篇 C#数据操作
9 字符串操作      114
9.1  静态串String        114
9.1.1  比较字符串        114
9.1.2  定位字符和子串        117
9.1.3  格式化字符串        119
9.1.4  连接字符串        121
9.1.5  分裂字符串        121
9.1.6  插入和填充字符串        122
9.1.7  删除和剪切字符串        123
9.1.8  复制字符串        124
9.1.9  替换字符串        125
9.1.10  更改大小写        125
9.1.11  String小结        126
9.2  动态串StringBuilder        126
9.2.1  声明StringBuilder串        126
9.2.2  设置StringBuilder容量        127
9.2.3  追加操作        127
9.2.4  插入操作        128
9.2.5  删除操作        129
9.2.6  替换操作        129
9.2.7  与String比较        129
9.3  字符串编码        130
9.3.1  字符编码概述        130
9.3.2  使用字符编码类        130
9.4  使用正则表达式        131
9.4.1  正则表达式简介        131
9.4.2  使用Regex类        132
9.4.3  构造正则表达式        132
9.4.4  示例：验证URL        133
9.5  小结        133
10 数组      134
10.1  数组简介        134
10.1.1  数组的概念        134
10.1.2  多维数组        135
10.1.3  创建C#数组        136
10.2  使用数组        138
10.2.1  System.Array类        138
10.2.2  访问数组元素        138
10.2.3  遍历数组        138
10.2.4  同步数组        139
10.2.5  数组排序        141
10.2.6  查找数组        143
10.2.7  反转数组        145
10.2.8  复制数组        146
10.2.9  动态创建数组        147
10.2.10  综合示例        148
10.3  小结        157
11 集合与泛型      158
11.1  System.Collections命名空间        158
11.2  ArrayList数组集合类        158
11.2.1  创建列表        159
11.2.2  添加元素        160
11.2.3  插入元素        161
11.2.4  删除元素        161
11.2.5  简单排序        162
11.2.6  复杂排序        163
11.2.7  查找元素        165
11.2.8  遍历列表        166
11.3  Queue队列类        167
11.3.1  创建队列        167
11.3.2  元素入队        167
11.3.3  元素出队        168
11.4  Stack堆栈类        169
11.4.1  创建堆栈        169
11.4.2  元素入栈        169
11.4.3  元素出栈        170
11.5  Hashtable和SortedList        171
11.5.1  Hashtable        171
11.5.2  构造普通哈希表        171
11.5.3  SortedList        173
11.5.4  搜索排序哈希表        174
11.6  泛型简介        175
11.6.1  什么是泛型        175
11.6.2  一个泛型的示例        177
11.6.3  集合类的泛型版本        178
11.6.4  使用泛型的建议        179
11.7  小结        180
12 处理异常和错误      181
12.1  try/catch块        181
12.2  finally块        183
12.3  预定义异常的类        185
12.4  处理异常        188
12.4.1  处理多个异常        188
12.4.2  处理和传递异常        189
12.4.3  从异常中恢复        190
12.5  设计自己的异常        192
12.6  小结        193
13 文件和输入输出      194
13.1  文件        194
13.1.1  System..IO类介绍        194
13.1.2  文件类File        195
13.1.3  文件夹类Directory        199
13.1.4  文件信息类FileInfo        201
13.1.5  文件夹信息类DirectoryInfo        203
13.2  流        206
13.2.1  文件流类FileStream        206
13.2.2  流写入类StreamWriter        209
13.2.3  流读取类StreamReader        211
13.2.4  二进制流写入类BinaryWriter        212
13.2.5  二进制流读取类BinaryReader        213
13.3  小结        213
第5篇 C#数据库编程
14 ADO 3.5数据库操作      216
14.1  ADO概述        216
14.1.1  微软数据访问技术        216
14.1.2  System.Data命名空间        217
14.2  连接数据库        218
14.2.1  SqlConnection类        218
14.2.2  使用SqlConnectionStringBuilder构建连接字符串        219
14.2.3  关闭和释放SQL Server连接        220
14.2.4  创建到SQL Server 2005 Express的连接        221
14.2.5  使用连接池        223
14.3  与数据库交互        223
14.3.1  使用SqlCommand提交增、删、改命令        224
14.3.2  使用SqlCommand获取查询命令        225
14.3.3  使用DataAdapter提交查询命令        226
14.4  管理内存数据        228
14.4.1  了解数据集        228
14.4.2  使用DataTable实现内存表        229
14.4.3  使用DataSet管理数据        231
14.4.4  使用DataReader获取只读数据        238
14.4.5  比较DataSet和DataReader        243
14.5  小结        243
15 XML编程      244
15.1  .NET框架中的XML        244
15.1.1  理解XML        244
15.1.2  XML文档对象模型（DOM）        247
15.1.3  System.Xml命名空间        248
15.2  读取XML文档        250
15.2.1  使用XmlDocument读取XML        250
15.2.2  使用XmlReader读取XML        254
15.3  使用XPath检索XML        257
15.3.1  基本XPath表达式        258
15.3.2  限定检索范围        259
15.3.3  使用函数设置检索条件        259
15.3.4  使用运算符设置检索条件        260
15.3.5  使用通配符模糊匹配        261
15.3.6  综合示例        261
15.4  修改XML文档        262
15.4.1  创建新DOM节点        263
15.4.2  为DOM节点创建属性        264
15.4.3  修改DOM节点        265
15.5  与ADO集成        268
15.5.1  使用DataSet加载XML数据        268
15.5.2  使用XmlDataDocument加载关系数据        271
15.6  小结        273
第6篇 .NET 3.5框架新特色
 16 .NET 3.5框架新组件      276
16.1  .NET 3.5框架整体概览        276
16.1.1  .NET 3.5框架的组织结构        276
16.1.2  WPF创建新式Windows
应用程序        277
16.1.3  WCF远程通信服务        277
16.1.4  WF轻松创建工作流        278
16.1.5  WCS身份标识验证        279
16.2  用WF制作订单状态管理工作流        280
16.2.1  订单状态管理工作流框架预览        280
16.2.2  创建订单状态管理工作流Windows服务        281
16.2.3  编译工作流服务        283
16.2.4  创建状态工作流        284
16.2.5  设置工作流的开始点和结束点        286
16.2.6  订单状态管理工作流的运行时引擎        288
16.3  使用WCF构建计算器服务模块        290
16.3.1  设计计算器服务契约        290
16.3.2  实现计算器服务契约        291
16.3.3  配置并发布计算器服务        292
16.3.4  配置WCF计算器服务的ABC        293
16.3.5  创建计算器的客户端代理服务        294
16.3.6  调用WCF计算器服务        295
16.4  小结        297
第7篇 C#网络编程
17 .net 3.5开发基础      300
17.1  什么是.net 3.5        300
17.1.1  .net 3.5 概述        300
17.1.2  使用VS 2008创建.net应用程序        301
17.1.3  .net文件类型和目录结构        304
17.1.4  .net控件简介        305
17.2  .net服务器控件        307
17.2.1  标准服务器控件        307
17.2.2  验证控件        310
17.2.3  母版页        313
17.2.4  导航控件        317
17.2.5  外观和主题        325
17.2.6  登录控件        328
17.2.7  Web Part编程        337
17.3  .net 3.5应用程序状态管理        341
17.3.1  应用程序状态管理简介        341
17.3.2  .net视图状态（View State）        342
17.3.3  .net控件状态（Control State）        344
17.3.4  全局应用程序设置        347
17.3.5  全局缓存对象        349
17.3.6  会话级应用程序设置        350
17.3.7  使用Cookies        350
17.4  小结        351
18 .NET 3.5数据库开发      352
18.1  一个数据库驱动的网站示例        352
18.1.1  显示订单列表        352
18.1.2  订单详细信息        358
18.1.3  订单明细页面        361
18.2  数据源控件        363
18.2.1  数据源控件简介        363
18.2.2  使用SqlDataSource控件        366
18.2.3  使用ObjectDataSource控件        374
18.2.4  使用LinqDataSource控件        377
18.2.5  LINQ查询语法        380
18.3  数据绑定控件        381
18.3.1  什么是数据绑定技术        381
18.3.2  列表控件        387
18.3.3  GridView控件        391
18.3.4  DetailsView控件        404
18.3.5  FormView控件        411
18.3.6  Repeater控件        413
18.3.7  DataList控件        414
18.3.8  ListView控件和DataPager控件        418
18.4  小结        421
19 应用程序部署      422
19.1  Windows Installer介绍        423
19.2  部署工程的建立        424
19.2.1  使用VS 2008安装向导        424
19.2.2  手动创建安装程序        426
19.3  使用安装项目编辑器        430
19.3.1  文件系统编辑器        430
19.3.2  注册表编辑器        430
19.3.3  文件类型编辑器        431
19.3.4  用户界面编辑器        433
19.3.5  自定义操作编辑器        435
19.3.6  启动条件编辑器        436
19.4  部署项目属性介绍        438
19.5  小结        440
第8篇 C#项目实战
20 在线考试系统      442
20.1  在线考试系统功能预览        442
20.2  数据库设计        443
20.2.1  数据库中各表结构        444
20.2.2  创建网站并映射表实体        446
20.3  整体布局设计        447
20.3.1  管理员用户控件        447
20.3.2  三层结构设计        449
20.4  考试科目        450
20.4.1  添加考试科目        450
20.4.2  维护考试科目        452
20.5  试题管理        457
20.5.1  添加单选题        457
20.5.2  维护单选题        461
20.5.3  添加多选题        465
20.5.4  维护多选题        469
20.5.5  添加填空题        472
20.5.6  维护填空题        475
20.5.7  添加判断题        478
20.5.8  维护判断题        481
20.6  试卷管理        484
20.6.1  制定试卷分数        484
20.6.2  维护试卷        489
20.7  用户管理        492
20.7.1  添加用户        492
20.7.2  维护用户        494
20.8  用户考试        497
20.8.1  用户登录        497
20.8.2  随机试卷        500
20.8.3  试卷答案        503
20.8.4  维护用户成绩        503
20.9  小结        505
21 小型企业网站管理系统      506
21.1  小型企业网站管理系统概述        506
21.1.1  小型企业网站管理系统简介        506
21.1.2  小型企业网站管理系统的安装        507
21.2  页面布局        508
21.2.1  MasterPage母版页        509
21.2.2  Web.sitemap导航地图        510
21.3  数据层        511
21.3.1  XML数据源        511
21.3.2  SQL Server数据源        512
21.3.3  数据层处理类的提供者Provider        513
21.3.4  数据库映射对象        515
21.4  业务处理层        515
21.5  目录管理        515
21.6  人员管理        517
21.7  新闻管理        519
21.8  用户体验        520
21.9  小结        521