pdf《C#入门经典》第五版 齐立波等译9787302241300

《C#入门经典》第五版

齐立波等译9787302241300清华大学出版社

文末下载

 


目录

第Ⅰ部分 C#语言 1
第1章 C#简介 2
1.1 .NET Framework的含义 2
1.1.1 .NET Framework的内容 3
1.1.2 使用.NET Framework编写应用程序 3
1. CIL和JIT 3
2. 程序集 4
3. 托管代码 4
4. 垃圾回收 4
5. 把它们组合在一起 5
6. 链接 6
1.2 C#的含义 6
1.2.1 用C#能编写什么样的应用程序 6
1.2.2 本书中的C# 7
1.3 Visual Studio 2010 7
1.3.1 Visual Studio 2010 Express产品 8
1.3.2 解决方案 8
1.4 小结 8
1.5 本章要点 9
第2章 编写C#程序 10
2.1 开发环境 11
2.1.1 Visual Studio 2010 11
2.1.2 Visual C# 2010 Express Edition 13
2.2 控制台应用程序 14
2.2.1 解决方案资源管理器(Solution Explorer) 18
2.2.2 属性(Properties)窗口 19
2.2.3 错误列表(Error List)窗口 19
2.3 Windows Forms应用程序 20
2.4 小结 24
2.5 本章要点 24
第3章 变量和表达式 25
3.1 C#的基本语法 25
3.2 C#控制台应用程序的基本结构 28
3.3 变量 29
3.3.1 简单类型 29
3.3.2 变量的命名 33
3.3.3 字面值 34
3.3.4 变量的声明和赋值 36
3.4 表达式 37
3.4.1 数学运算符 37
3.4.2 赋值运算符 41
3.4.3 运算符的优先级 42
3.4.4 名称空间 43
3.5 小结 45
3.6 练习 46
3.7 本章要点 47
第4章 流程控制 48
4.1 布尔逻辑 48
4.1.1 布尔赋值运算符 51
4.1.2 按位运算符 52
4.1.3 运算符优先级的更新 56
4.2 goto语句 57
4.3 分支 58
4.3.1 三元运算符 58
4.3.2 if语句 58
4.3.3 switch语句 62
4.4 循环 65
4.4.1 do循环 65
4.4.2 while循环 68
4.4.3 for循环 70
4.4.4 循环的中断 74
4.4.5 无限循环 75
4.5 小结 75
4.6 练习 76
4.7 本章要点 76
第5章 变量的更多内容 77
5.1 类型转换 77
5.1.1 隐式转换 78
5.1.2 显式转换 79
5.1.3 使用Convert命令进行显式转换 82
5.2 复杂的变量类型 85
5.2.1 枚举 85
5.2.2 结构 89
5.2.3 数组 92
1. 声明数组 92
2. foreach循环 94
3. 多维数组 95
4. 数组的数组 96
5.3 字符串的处理 98
5.4 小结 102
5.5 练习 103
5.6 本章要点 104
第6章 函数 105
6.1 定义和使用函数 106
6.1.1 返回值 107
6.1.2 参数 109
1. 参数匹配 111
2. 参数数组 111
3. 引用参数和值参数 113
4. 输出参数 115
6.2 变量的作用域 116
6.2.1 其他结构中变量的作用域 118
6.2.2 参数和返回值与全局数据 120
6.3 Main()函数 121
6.4 结构函数 124
6.5 函数的重载 124
6.6 委托 126
6.7 小结 129
6.8 练习 129
6.9 本章要点 130
第7章 调试和错误处理 131
7.1 VS和VCE中的调试 131
7.1.1 非中断(正常)模式下的调试 132
1. 输出调试信息 133
2. 跟踪点 138
3. 诊断输出与跟踪点 140
7.1.2 中断模式下的调试 140
1. 进入中断模式 140
2. 监视变量的内容 143
3. 单步执行代码 146
4. “即时”(Immediate)和“命令”(Command)窗口 147
5. “调用堆栈”(Call Stack)窗口 147
7.2 错误处理 148
7.2.1 try…catch…finally 149
7.2.2 列出和配置异常 153
7.2.3 异常处理的注意事项 154
7.3 小结 155
7.4 练习 155
7.5 本章要点 155
第8章 面向对象编程简介 157
8.1 面向对象编程的含义 158
8.1.1 对象的含义 158
1. 属性和字段 159
2. 方法 160
8.1.2 一切皆对象 161
8.1.3 对象的生命周期 161
1. 构造函数 161
2. 析构函数 162
8.1.4 静态和实例类成员 162
1. 静态构造函数 163
2. 静态类 163
8.2 OOP技术 163
8.2.1 接口 163
8.2.2 继承 165
8.2.3 多态性 167
8.2.4 对象之间的关系 168
1. 包含关系 168
2. 集合关系 169
8.2.5 运算符重载 169
8.2.6 事件 170
8.2.7 引用类型和值类型 170
8.3 Windows应用程序中的OOP 171
8.4 小结 173
8.5 练习 173
8.6 本章要点 174
第9章 定义类 175
9.1 C#中的类定义 175
9.2 System.Object 180
9.3 构造函数和析构函数 181
9.4 VS和VCE中的OOP工具 186
9.4.1 “类视图”(Class View)窗口 186
9.4.2 对象浏览器 188
9.4.3 添加类 189
9.4.4 类图 190
9.5 类库项目 192
9.6 接口和抽象类 195
9.7 结构类型 197
9.8 浅度和深度复制 199
9.9 小结 199
9.10 练习 200
9.11 本章要点 200
第10章 定义类成员 201
10.1 成员定义 201
10.1.1 定义字段 202
10.1.2 定义方法 202
10.1.3 定义属性 203
10.1.4 在类图中添加成员 208
1. 添加方法 209
2. 添加属性 211
3. 添加字段 211
10.1.5 重构成员 211
10.1.6 自动属性 212
10.2 类成员的其他议题 213
10.2.1 隐藏基类方法 213
10.2.2 调用重写或隐藏的基类方法 215
10.2.3 嵌套的类型定义 216
10.3 接口的实现 216
在类中实现接口 217
1. 显示实现接口成员 219
2. 用非公共的可访问性添加属性存储器 219
10.4 部分类定义 220
10.5 部分方法定义 221
10.6 示例应用程序 223
10.6.1 规划应用程序 223
1. Card类 223
2. Deck类 223
10.6.2 编写类库 224
1. 添加Suit和Rank枚举 224
2. 添加Card类 227
3. 添加Deck类 228
10.6.3 类库的客户应用程序 231
10.7 “调用层次结构”(Call Hierarchy)窗口 232
10.8 小结 233
10.9 练习 233
10.10 本章要点 234
第11章 集合、比较和转换 235
11.1 集合 235
11.1.1 使用集合 236
11.1.2 定义集合 242
11.1.3 索引符 243
11.1.4 给CardLib添加Cards集合 246
11.1.5 关键字值集合和IDictionary 248
11.1.6 迭代器 250
11.1.7 深复制 255
11.1.8 给CardLib添加深复制 257
11.2 比较 259
11.2.1 类型比较 259
1. 封箱和拆箱 260
2. is运算符 261
11.2.2 值比较 264
1. 运算符重载 264
2. 给CardLib添加运算符重载 269
3. IComparable和IComparer接口 274
4. 使用IComparable和IComparer接口对集合排序 276
11.3 转换 279
11.3.1 重载转换运算符 280
11.3.2 as运算符 281
11.4 小结 282
11.5 练习 282
11.6 本章要点 283
第12章 泛型 284
12.1 泛型的概念 284
12.2 使用泛型 286
12.2.1 可空类型 286
1. 运算符和可空类型 287
2. ??运算符 288
12.2.2 System.Collections.Generic名称空间 292
1. List<T> 293
2. 对泛型列表进行排序和搜索 295
3. Dictionary<K, V> 301
4. 修改CardLib,以使用泛型集合类 302
12.3 定义泛型类型 302
12.3.1 定义泛型类 303
1. default关键字 305
2. 约束类型 305
3. 从泛型类中继承 311
4. 泛型运算符 313
5. 泛型结构 314
12.3.2 定义泛型接口 314
12.3.3 定义泛型方法 314
12.3.4 定义泛型委托 316
12.4 变体 316
12.4.1 协变 317
12.4.2 抗变 318
12.5 小结 319
12.6 练习 319
12.7 本章要点 320
第13章 其他OOP技术 322
13.1 运算符和全局名称空间限定符 322
13.2 定制异常 324
13.3 事件 326
13.3.1 事件的含义 326
13.3.2 处理事件 327
13.3.3 定义事件 329
1. 多用途事件处理程序 334
2. EventHandler和泛型EventHandler<T>类型 337
3. 返回值和事件处理程序 337
4. 匿名方法 337
13.4 扩展和使用CardLib 338
CardLib的扑克牌游戏客户程序 339
13.5 小结 346
13.6 练习 347
13.7 本章要点 347
第14章 C#语言的改进 348
14.1 初始化器 348
14.1.1 对象初始化器 349
14.1.2 集合初始化器 351
14.2 类型推理 354
14.3 匿名类型 355
14.4 动态查找 359
14.4.1 dynamic类型 360
14.4.2 IdynamicMetaObject-Provider 364
14.5 高级方法参数 364
14.5.1 可选参数 364
1. 可选参数的值 365
2. 可选参数的顺序 366
14.5.2 命名参数 366
14.5.3 命名参数和可选参数的规则 370
14.6 扩展方法 370
14.7 Lambda表达式 374
14.7.1 复习匿名方法 374
14.7.2 把Lambda表达式用于匿名方法 375
14.7.3 Lambda表达式的参数 378
14.7.4 Lambda表达式的语句体 379
14.7.5 Lambda表达式用作委托和表达式树 380
14.7.6 Lambda表达式和集合 381
14.8 小结 383
14.9 练习 384
14.10 本章要点 385

第Ⅱ部分 Windows编程 386
第15章 Windows编程基础 387
15.1 控件 387
15.1.1 属性 388
15.1.2 控件的定位、停靠和对齐 389
15.1.3 Anchor和Dock属性 389
15.1.4 事件 390
15.2 Button控件 392
15.2.1 Button控件的属性 392
15.2.2 Button控件的事件 392
15.2.3 添加事件处理程序 393
15.3 Label和LinkLabel控件 394
15.4 TextBox控件 395
15.4.1 TextBox控件的属性 395
15.4.2 TextBox控件的事件 396
15.4.3 添加事件处理程序 398
15.5 RadioButton和CheckBox控件 401
15.5.1 RadioButton控件的属性 402
15.5.2 RadioButton控件的事件 402
15.5.3 CheckBox控件的属性 402
15.5.4 CheckBox控件的事件 403
15.5.5 GroupBox控件 403
15.6 RichTextBox控件 406
15.6.1 RichTextBox控件的属性 406
15.6.2 RichTextBox控件的事件 407
15.7 ListBox和CheckedListBox控件 412
15.7.1 ListBox控件的属性 412
15.7.2 ListBox控件的方法 413
15.7.3 ListBox控件的事件 414
15.8 ListView控件 416
15.8.1 ListView控件的属性 416
15.8.2 ListView控件的方法 418
15.8.3 ListView控件的事件 418
15.8.4 ListViewItem 419
15.8.5 ColumnHeader 419
15.8.6 ImageList控件 419
15.9 TabControl控件 425
15.9.1 TabControl控件的属性 426
15.9.2 使用TabControl控件 426
15.10 小结 428
15.11 练习 428
15.12 本章要点 428
第16章 Windows窗体的高级功能 429
16.1 菜单和工具栏 429
16.1.1 两个实质一样的控件 430
16.1.2 使用MenuStrip控件 430
16.1.3 手工创建菜单 430
16.1.4 ToolStripMenultem控件的其他属性 432
16.1.5 给菜单添加功能 432
16.2 工具栏 434
16.2.1 ToolStrip控件的属性 435
16.2.2 ToolStrip的项 435
1. 添加事件处理程序 437
16.2.3 StatusStrip控件 439
16.2.4 StatusStripStatusLabel的属性 440
16.3 SDI和MDI应用程序 442
16.4 生成MDI应用程序 443
16.5 创建控件 450
16.5.1 调试用户控件 455
16.5.2 扩展LabelTextbox控件 455
1. 添加更多属性 455
2. 添加更多事件处理程序 456
3. 添加定制的事件处理程序 457
16.6 小结 458
16.7 练习 458
16.8 本章要点 458
第17章 部署Windows应用程序 459
17.1 部署概述 459
17.2 ClickOnce部署 460
17.2.1 创建ClickOnce部署 460
17.2.2 用ClickOnce安装应用程序 468
17.2.3 创建和使用应用程序的更新包 470
17.3 Visual Studio安装和部署项目类型 471
17.4 Microsoft Windows安装程序结构 472
17.4.1 Windows安装程序术语 472
17.4.2 Windows安装程序的优点 474
17.5 为MDI Editor创建安装软件包 474
17.5.1 规划安装内容 474
17.5.2 创建项目 475
17.5.3 项目属性 476
1. 打包 476
2. 预先安装的软件包 477
17.5.4 安装编辑器 479
17.5.5 File System编辑器 479
1. 向特殊文件夹添加项 480
2. 文件属性 480
17.5.6 File Types编辑器 482
17.5.7 Launch Condition编辑器 483
17.5.8 User Interface编辑器 484
1. 其他对话框 485
17.6 生成项目 487
17.7 安装 487
17.7.1 欢迎使用(Welcome) 488
17.7.2 自述文件(Read Me) 488
17.7.3 许可协议(License Agreement) 489
17.7.4 Optional Files 489
17.7.5 选择安装文件夹 490
17.7.6 确认安装 490
17.7.7 进度 491
17.7.8 完成安装 491
17.7.9 运行应用程序 492
17.7.10 卸载 492
17.8 小结 492
17.9 练习 493
17.10 本章要点 493

第Ⅲ部分 Web编程 494
第18章 ASP.NET Web编程 495
18.1 Web应用程序概述 495
18.2 ASP.NET运行库 496
18.3 创建简单的Web页面 496
18.4 服务器控件 504
18.5 ASP.NET回送 505
18.6 ASP.NET AJAX回送 510
18.7 输入的有效性验证 513
18.8 状态管理 517
18.8.1 客户端的状态管理 517
1. ViewState 517
2. cookie 518
18.8.2 服务器端的状态管理 519
1. 会话 519
2. 应用程序 521
3. 缓存 521
18.9 样式 522
18.10 母版页 527
18.11 站点导航 532
18.12 身份验证和授权 534
18.12.1 身份验证的配置 535
18.12.2 使用安全控件 538
18.13 读写SQL Server数据库 541
18.14 小结 548
18.15 练习 548
18.16 本章要点 548
第19章 Web服务 549
19.1 使用Web服务的场合 549
19.1.1 宾馆旅行社代理应用程序 550
19.1.2 图书发布应用程序 550
19.1.3 客户应用程序的类型 550
19.2 应用程序的体系结构 550
19.3 Web服务的体系结构 551
19.3.1 调用方法和WSDL 551
19.3.2 调用方法 552
19.3.3 WS-I规范 553
19.4 Web服务和.NET Framework 553
19.4.1 创建Web服务 554
1. WebService特性 554
2. WebMethod特性 554
3. WebServiceBinding特性 555
19.4.2 客户程序 555
1. SoapHttpClientProtocol 555
2. 其他客户协议 556
19.5 创建简单的ASP.NET Web服务 556
19.6 测试Web服务 559
19.7 实现Windows客户程序 560
19.8 异步调用服务 564
19.9 实现ASP.NET客户程序 567
19.10 传送数据 568
19.11 小结 571
19.12 练习 572
19.13 本章要点 572
第20章 部署Web应用程序 573
20.1 Internet Information Services 573
20.2 IIS配置 574
20.3 复制Web站点 576
20.4 发布Web站点 579
20.5 Windows安装程序 581
20.5.1 创建安装程序 581
20.5.2 安装Web应用程序 583
20.6 小结 584
20.7 练习 585
20.8 本章要点 585

第Ⅳ部分 数据访问 586
第21章 文件系统数据 587
21.1 流 587
21.2 用于输入和输出的类 588
21.2.1 File类和Directory类 589
21.2.2 FileInfo类 590
21.2.3 DirectoryInfo类 592
21.2.4 路径名和相对路径 592
21.2.5 FileStream对象 592
1. 文件位置 594
2. 读取数据 594
3. 写入数据 597
21.2.6 StreamWriter对象 598
21.2.7 StreamReader对象 601
1. 读取数据 602
2. 用分隔符分隔的文件 603
21.2.8 读写压缩文件 607
21.3 序列化对象 610
21.4 监控文件系统 615
21.5 小结 621
21.6 练习 622
21.7 本章要点 622
第22章 XML 623
22.1 XML文档 624
22.1.1 XML元素 624
22.1.2 特性 625
22.1.3 XML声明 625
22.1.4 XML文档的结构 626
22.1.5 XML名称空间 626
22.1.6 格式良好并有效的XML 627
22.1.7 验证XML文档 628
1. DTD 628
2. 模式 628
XRD模式 628
XSD模式 628
22.2 在应用程序中使用XML 631
22.2.1 XML文档对象模型 631
1. XmlDocument类 632
2. XmlElement类 632
3. 修改节点的值 636
插入新节点 637
删除节点 639
22.2.2 选择节点 640
22.2.3 XPath 641
22.3 小结 644
22.4 练习 645
22.5 本章要点 645
第23章 LINQ简介 646
23.1 第一个LINQ查询 647
23.1.1 用var关键字声明结果变量 648
23.1.2 指定数据源:from子句 649
23.1.3 指定条件:where子句 649
23.1.4 指定元素:select子句 649
23.1.5 完成:使用foreach循环 650
23.1.6 延迟执行的查询 650
23.2 使用LINQ方法语法 650
23.2.1 LINQ扩展方法 650
23.2.2 查询语法和方法语法 651
23.3 排序查询结果 652
23.4 orderby子句 654
23.5 用方法语法排序 654
23.6 查询大型数据集 656
23.7 聚合运算符 658
23.8 查询复杂的对象 661
23.9 投影:在查询中创建新对象 665
23.10 投影:方法语法 667
23.11 单值选择查询 667
23.12 Any和All 668
23.13 多级排序 670
23.14 多级排序方法语法:ThenBy 672
23.15 分组(组合)查询 672
23.16 Take和Skip 674
23.17 First和FirstOrDefault 676
23.18 集运算符 677
23.19 Join查询 680
23.20 小结 682
23.21 练习 682
23.22 本章要点 682
第24章 应用LINQ 684
24.1 LINQ的变体 684
24.2 给数据库使用LINQ 685
24.3 安装SQL Server和Northwind示例数据 685
24.3.1 安装SQL Server Express 2008 686
24.3.2 安装Northwind示例数据库 686
24.4 第一个LINQ数据库查询 686
24.5 浏览数据库关系 690
24.6 使用LINQ to XML 692
24.7 LINQ to XML函数构造方法 692
24.8 保存和加载XML文档 696
24.8.1 从字符串中加载XML 699
24.8.2 已保存的XML文档内容 699
24.9 处理XML片段 699
24.10 从数据库中生成XML 702
24.11 查询XML文档的方法 704
24.12 使用LINQ to XML查询成员 705
24.12.1 Elements() 706
24.12.2 Descendants() 706
24.12.3 Attributes() 708
24.13 小结 710
24.14 练习 710
24.15 本章要点 711

第Ⅴ部分 其他技术 712
第25章 Windows Presentation Foundation 713
25.1 WPF的概念 714
25.1.1 WPF给设计人员带来的好处 714
25.1.2 WPF给C#开发人员带来的好处 716
25.2 基本WPF应用程序的组成 717
25.3 WPF基础 727
25.3.1 XAML语法 728
1. 对象元素语法 728
2. 特性与法 728
3. 属性元素语法 728
4. 内容语法 729
5. 合并属性元素语法和内容语法 729
6. 扩展标记 730
25.3.2 桌面和Web应用程序 730
25.3.3 Application对象 730
25.3.4 控件基础 731
1. 依赖属性 732
2. 关联属性 733
3. 路由事件 734
4. 关联事件 738
25.3.5 控件的布局 739
1. 堆栈顺序 739
2. 对齐、页边距、填充和尺寸 740
3. Border控件 740
4. Canvas控件 740
5. DockPanel控件 741
6. Grid控件 743
7. StackPanel控件 745
8. WrapPanel控件 747
25.3.6 控件的样式 748
1. 样式 748
2. 模板 748
25.3.7 触发器 752
25.3.8 动画 753
1. 没有关键帧的时间线 754
2. 有关键帧的时间线 755
25.3.9 静态和动态资源 756
1. 静态资源 756
2. 动态资源 757
3. 引用样式资源 757
25.4 用WPF编程 761
25.4.1 WPF用户控件 762
25.4.2 实现依赖属性 762
25.5 小结 772
25.6 练习 773
25.7 本章要点 773
第26章 Windows Communication Foundation 774
26.1 WCF的含义 775
26.2 WCF概念 775
26.2.1 WCF通信协议 776
26.2.2 地址、端点和绑定 776
26.2.3 合同 778
26.2.4 消息模式 778
26.2.5 行为 779
26.2.6 驻留 779
26.3 WCF编程 779
26.3.1 WCF测试客户程序 787
26.3.2 定义WCF服务合同 789
1. 数据合同 789
2. 服务合同 790
3. 操作合同 791
4. 消息合同 791
5. 错误合同 791
26.3.3 自驻留的WCF服务 797
26.4 小结 803
26.5 练习 804
26.6 本章要点 804
第27章 Windows Workflow Foundation 805
27.1 Hello World 805
27.2 工作流和活动 807
27.2.1 If活动 807
27.2.2 While活动 808
27.2.3 Sequence活动 808
27.3 变元和变量 809
27.4 定制活动 814
27.4.1 工作流扩展 816
27.4.2 活动的有效性验证 821
27.4.3 活动设计器 822
27.5 小结 824
27.6 练习 824
27.7 本章要点 824
附录A 习题答案 825
第 3 章 825
第 4 章 826
第 5 章 829
第 6 章 831
第 7 章 832
第 8 章 833
第 9 章 835
第10章 836
第11章 839
第12章 842
第13章 846
第14章 851
第15章 852
第16章 854
第17章 857
第18章 858
第19章 859
第20章 860
第21章 861
第22章 862
第23章 863
第24章 866
第25章 871
第26章 872
第27章 873

 

本文地址:https://www.wodfd.com/1032.html

备用下载地址:https://www.wodfd.com/1225.html