第一部分 九层之台,起于累土——牢固掌握C#基础 3
第1章 Visual C#.NET2008开发环境概述 3
1.1 .NET框架概述 4
1.1.1 .NET框架的历史 4
1.1.2什么是.NET框架 5
1.1.3公共语言运行库 7
1.1.4 .NET Framework类库 8
1.1.5 Windows Forms程序开发概述 9
1.1.6 ASP.NET开发框架概述 10
1.2 C#语言概述 11
1.3 Visual Studio 2008开发工具安装 12
1.3.1 Visual Studio 2008系统需求 12
1.3.2 Visual Studio 2008集成环境的安装 13
1.4 .NET与其他技术的关系 15
1.4.1 XML、Web服务与.NET框架 15
1.4.2 .NET框架与ADO.NET组件的整合方式 15
1.5小结 16
第2章 熟练使用Visual Studio 2008 工具 17
2.1 Visual Studio 2008环境配置 18
2.1.1环境设置 18
2.1.2工具栏配置 20
2.1.3工具箱配置 22
2.2解决方案资源管理器的使用 23
2.2.1解决方案和项目 23
2.2.2解决方案及项目的创建、生成与编译 24
2.2.3管理项目和属性方式说明 25
2.3属性管理器的使用 28
2.3.1打开属性管理器 28
2.3.2查看与修改属性 29
2.3.3添加事件 29
2.4 IDE中的快捷键 29
2.5小结 31
第3章 C#.NET语言基础 32
3.1引言 33
3.2编写第一个C#程序 33
3.2.1代码结构 33
3.2.2编译运行 35
3.2.3代码分析 35
3.3数据类型 36
3.4常用类型 37
3.4.1整型 37
3.4.2浮点型 39
3.4.3 decimal类型 40
3.4.4布尔型 41
3.4.5结构体类型 41
3.4.6枚举类型 43
3.4.7 string类型 45
3.4.8 object类型 45
3.4.9数据类型的转换 46
3.5常量和变量 48
3.5.1常量和变量的命名规则 49
3.5.2常量 50
3.5.3变量 50
3.6小结 52
第4章 运算符与表达式 53
4.1引言 54
4.2单目运算符 54
4.3双目运算符 58
4.3.1算术运算符与算术表达式 58
4.3.2位运算符与位表达式 60
4.3.3关系运算符与关系表达式 63
4.3.4类型测试运算符与类型测试表达式 64
4.3.5逻辑运算符与逻辑表达式 66
4.3.6条件逻辑运算符与条件逻辑表达式 67
4.3.7赋值运算符与赋值表达式 68
4.4三目运算符 69
4.5其他运算符 71
4.6标点符号 73
4.7运算符优先级 75
4.8正则表达式 77
4.9小结 81
第5章 流程控制语句与函数 82
5.1控制程序流程 83
5.2使用选择语句 83
5.2.1 if语句 83
5.2.2 switch语句 87
5.2.3 switch语句的控制类型 89
5.3使用循环语句 90
5.3.1 while语句 90
5.3.2 do语句 91
5.3.3 for语句 93
5.3.4 foreach语句 95
5.3.5 break语句和continue语句 96
5.4使用goto语句 98
5.5嵌套使用流程控制语句 98
5.6函数 101
5.6.1函数的定义与使用 101
5.6.2函数的参数传递 103
5.6.3内联函数 107
5.6.4函数重载 108
5.7常用内部函数 109
5.7.1随机函数介绍 109
5.7.2格式化函数介绍 111
5.7.3日期函数介绍 116
5.7.4数学运算函数介绍 117
5.8小结 118
第6章 数组与集合 119
6.1一维数组 120
6.1.1一维数组的创建及初始化 120
6.1.2一维数组的简单应用 121
6.2二维数组 123
6.2.1二维数组的创建及初始化 123
6.2.2二维数组的简单应用 125
6.3交错数组 126
6.3.1交错数组的创建及初始化 126
6.3.2交错数组的简单应用 127
6.4遍历数组 128
6.4.1使用for循环遍历 128
6.4.2使用foreach遍历 131
6.5常用集合 133
6.5.1 ArrayList类 133
6.5.2哈希表 140
6.5.3哈希表的排序 144
6.6小结 145
第7章 类与对象 146
7.1面向对象编程的基本知识 147
7.1.1面向对象编程的历史 147
7.1.2面向对象编程的概念 147
7.1.3面向对象编程的基本特点 148
7.2类与对象 150
7.2.1类的定义 150
7.2.2对象 151
7.3类的成员 151
7.3.1成员访问属性 152
7.3.2数据成员 153
7.3.3函数成员 154
7.3.4构造函数和析构函数 160
7.4静态类和静态成员 164
7.5部分类 168
7.6类与命名空间 168
7.7小结 170
第8章 继承与多态 171
8.1继承的基础知识 172
8.1.1简单继承 172
8.1.2使用继承 174
8.1.3在派生类中使用基类的方法 176
8.2派生类的构造函数和析构函数 177
8.3抽象类和抽象函数 181
8.4密封类和密封方法 182
8.5多态的基础知识 183
8.5.1多态的类型 184
8.5.2多态的实现 185
8.6虚方法 185
8.7运算符重载 188
8.8接口 190
8.8.1接口声明 190
8.8.2接口实现 191
8.8.3接口的使用 194
8.8.4接口和抽象类的比较 195
8.9小结 196
第9章 方法类型化——委托 197
9.1委托 198
9.1.1委托概述 198
9.1.2委托的实现原理 202
9.1.3匿名方法 204
9.1.4创建多播委托 205
9.1.5多播委托的实现原理 207
9.1.6手工迭代 210
9.1.7协变和抗变 212
9.1.8委托的应用 214
9.2事件 217
9.2.1事件的定义 218
9.2.2事件的实现原理 222
9.2.3事件的应用 223
9.3小结 223
第10章 类型参数化——泛型 224
10.1泛型概述 225
10.1.1泛型的概念 225
10.1.2泛型的优点 227
10.1.3泛型的参数命名准则 229
10.2泛型类 229
10.2.1泛型类的定义与实例化 229
10.2.2常用的泛型集合类 232
10.3泛型方法 234
10.4泛型类的特性 237
10.4.1默认关键字 237
10.4.2类型参数约束 238
10.4.3继承 240
10.4.4静态成员 241
10.5小结 241
第11章 C#.N ET中的文件处理——文件IO 242
11.1文件的使用 243
11.1.1 File类 243
11.1.2 Directory类 247
11.2使用文件流读写文件 250
11.2.1流概述 250
11.2.2 FileStream类 251
11.2.3 StreamWriter类和StreamReader类 253
11.2.4 BinaryWrite类和BinaryReader类 256
11.3小结 258
第12章 异常处理和注意事项 259
12.1错误和异常处理 260
12.1.1异常处理类 260
12.1.2捕获异常方式 262
12.1.3自定义异常处理类 268
12.2 C#编程规则 270
12.2.1源代码内部注释规则 270
12.2.2用法约定 271
12.3小结 279
第13章 C# 3.0中新增功能 280
13.1隐式类型的局部变量和数组 281
13.1.1隐式类型的局部变量 281
13.1.2隐式类型的数组 283
13.2对象和集合初始值设定项 284
13.3匿名类型 287
13.4扩展方法 290
13.5 Lambda表达式 291
13.6小结 293
第二部分 创建经典的Windows程序——Windows Forms开发 297
第14章 Windows Forms介绍 297
14.1 Windows Forms程序概述 298
14.2 Windows Forms项目概述 299
14.2.1新建Windows Forms项目 299
14.2.2打开已有的Windows Forms项目 300
14.3管理Windows Forms项目 301
14.3.1向项目添加窗体 301
14.3.2修改窗体属性 301
14.3.3窗体常见的属性、方法和事件 301
14.3.4继承已有窗体的方式 307
14.4创建简单的Windows应用程序 310
14.5小结 311
第15章 基本控件 312
15.1控件与组件概述 313
15.2常用基本控件 313
15.2.1 Label控件 313
15.2.2 TextBox控件 315
15.2.3 Button控件 318
15.2.4 CheckBox控件和RadioButton控件 321
15.2.5 ComboBox控件和ListBox控件 322
15.2.6 DateTimePicker控件 327
15.2.7 PictureBox控件 328
15.2.8 ProgressBar控件 330
15.2.9 WebBrowser控件 332
15.3常用容器控件 334
15.3.1 GroupBox控件 334
15.3.2 Panel控件 336
15.3.3 FlowLayoutPanel控件 337
15.3.4 TabControl控件 339
15.3.5 SplitContainer控件 340
15.4小结 341
第16章 Windows Forms高级应用 342
16.1高级控件 343
16.1.1 TreeView控件 343
16.1.2 ListView控件 344
16.1.3 MonthCalendar控件 349
16.2用户定义控件 350
16.2.1用户定义控件概述 350
16.2.2用户定义控件的创建、生成及应用 350
16.3常用组件 354
16.3.1 BackgroundWorker组件 354
16.3.2 Timer组件 355
16.3.3 ErrorProvider组件 356
16.4在窗体中加入菜单 357
16.4.1创建基本菜单 357
16.4.2添加快捷键 358
16.4.3创建右键快捷菜单 359
16.5在窗体中加入工具栏 360
16.5.1 ToolStrip控件和ToolStripButton控件 360
16.5.2创建工具栏 361
16.6在窗体中加入状态栏 363
16.6.1 StatusStrip控件和ToolStripStatusLabel控件 363
16.6.2创建状态栏 363
16.7在窗体中加入多窗体 364
16.7.1多窗体概述 364
16.7.2窗体间的关联 365
16.7.3创建多窗体 366
16.8创建MDI窗体 371
16.9小结 371
第17章 熟练使用通用窗口 372
17.1自定义窗口 373
17.2文件窗口 376
17.3文件夹浏览窗口 378
17.4打印 378
17.4.1打印结构 378
17.4.2打印多个页面 380
17.5打印预览窗口 382
17.5.1打印预览窗口概述 382
17.5.2打印预览控件 383
17.6【字体】窗口和【颜色】窗口 384
17.6.1【字体】窗口 384
17.6.2【颜色】窗口 384
17.7 MessageBox类 385
17.8小结 386
第18章 图形图像程序设计 387
18.1 GDI+基础 388
18.1.1 GDI+概述 388
18.1.2 Graphics类 391
18.1.3画笔对象的使用 393
18.1.4画刷对象的使用 394
18.1.5 Bitmap类 398
18.1.6字体与文本 399
18.2基本图形的绘制 400
18.3图像处理 405
18.3.1图像的基本操作 405
18.3.2图像的高级操作 407
18.4小结 410
第19章 在程序中访问数据库 411
19.1 ADO.NET与.NET 412
19.2 ADO.NET与ADO 412
19.2.1 ADO概述 412
19.2.2 ADO.NET与ADO的关系 413
19.3深入ADO.NET 414
19.3.1 .NET数据提供程序 414
19.3.2 Connection类 415
19.3.3 Command类 416
19.3.4 DataSet类 422
19.3.5 DataReade类 425
19.3.6 DataAdapter类 427
19.3.7 ADO.NET原理剖析 430
19.4数据控件 431
19.4.1常用的数据控件 431
19.4.2数据源控件 431
19.5数据绑定控件 436
19.5.1数据绑定控件概述 436
19.5.2简单绑定控件 436
19.5.3复杂绑定控件 437
19.6小结 438
第20章 LINQ技术 439
20.1概述 440
20.2基于LINQ的简单查询 440
20.2.1简单LINQ查询 440
20.2.2 LINQ的用途 442
20.2.3 LINQ的推迟查询 445
20.3标准查询操作符 446
20.4 LINQ to SQL 454
20.4.1 LINQ to SQL简单应用 455
20.4.2 O/R设计器 457
20.4.3使用LINQ to SQL类访问数据库 460
20.5小结 464
第三部分 创建精彩的B/S程序——ASP.NET开发 467
第21章 创建一个ASP.NET网站 467
21.1 ASP.NET程序简介 468
21.2理解ASP.NET项目 469
21.2.1创建ASP.NET新的项目 469
21.2.2打开已有的项目 471
21.3管理ASP.NET项目 471
21.3.1添加Web窗体 471
21.3.2母版页 472
21.4 ASP.NET服务器控件的使用 474
21.4.1内置控件 474
21.4.2增强控件 480
21.4.3验证控件 483
21.5数据控件使用 484
21.5.1数据源控件 485
21.5.2 GridView控件 488
21.5.3 Repeater控件和DataList控件 490
21.5.4 DetailView控件和FormView控件 493
21.6小结 495
第22章 可扩展标记语言XML 496
22.1 XML文档 497
22.1.1 XML元素 497
22.1.2 XML属性 498
22.1.3 XML文档结构 499
22.1.4格式良好并有效的XML 501
22.2在应用程序中使用XML 504
22.2.1 XML文档对象模型 504
22.2.2选择节点 506
22.2.3读写XML文件 507
22.2.4验证XML文件 511
22.3小结 513
第23章 Web Service开发 514
23.1 Web Service概述 515
23.1.1 Web Service特点 515
23.1.2 Web Service的技术支持 516
23.2 Web Service的应用场合 518
23.3 Web Service和.NET Framework 519
23.3.1创建Web Service 519
23.3.2客户端程序 522
23.4创建简单的ASP.NET Web Service 522
23.4.1生成文件 523
23.4.2添加Web方法 524
23.5测试Web Service 525
23.6小结 527
第24章 ASP.NETAJAX技术 528
24.1 ASP.NET AJAX概述 529
24.2常用ASP.NET AJAX服务器控件 530
24.2.1 ScriptManager控件 530
24.2.2 ScriptManagerProxy控件 534
24.2.3 UpdatePanel控件 537
24.2.4 UpdateProgress控件 539
24.2.5 Timer控件 541
24.3小结 542
第四部分 学以致用——实战项目 545
第25章 客户信息管理系统 545
25.1需求分析 546
25.2分层设计 547
25.3功能实现 548
25.3.1数据库的设计和实现 548
25.3.2用户界面层的实现 549
25.3.3数据访问层的实现 562
25.3.4业务逻辑层的实现 563
25.4小结 565
第26章 个人博客 566
26.1需求分析 567
26.2数据库设计 569
26.3类的分析与设计 573
26.4博客首页部分的实现 574
26.4.1母版页的应用 575
26.4.2内容页的实现 576
26.4.3用户自定义控件的实现 584
26.5个人页面部分的实现 585
26.5.1母版页的实现 586
26.5.2注销的实现 587
26.5.3文章管理 588
26.5.4个人信息管理 592
26.5.5评论页面 593
26.5.6相册管理 595
26.6博客系统管理页面部分的实现 599
26.7小结 604