《C#入门经典 第5版》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:(美)KarliWatso,(美)ChristianNagel著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302241300
  • 页数:887 页
图书介绍:这本精品书籍首先介绍变量、流程控制和面向对象编程等C#基础知识,然后讨论Web和Windows编程以及数据访问等内容。贯穿全书的分布说明和示例指导读者使用C# 2010代码得心应手地编写程序。

第Ⅰ部分 C#语言 3

第1章 C#简介 3

1.1 .NET Framework的含义 3

1.1.1 .NET Framework的内容 4

1.1.2 使用.NET Framework编写应用程序 4

1.2 C#的含义 7

1.2.1 用C#能编写什么样的应用程序 7

1.2.2 本书中的C# 8

1.3 Visual Studio 2010 8

1.3.1 Visual Studio 2010 Express产品 9

1.3.2 解决方案 9

1.4 小结 9

1.5 本章要点 10

第2章 编写C#程序 11

2.1 开发环境 12

2.1.1 Visual Studio 2010 12

2.1.2 Visual C# 2010 Express Edition 14

2.2 控制台应用程序 15

2.2.1 Solution Explorer 19

2.2.2 Properties窗口 20

2.2.3 Error List窗口 20

2.3 Windows Forms应用程序 21

2.4 小结 25

2.5 本章要点 25

第3章 变量和表达式 27

3.1 C#的基本语法 27

3.2 C#控制台应用程序的基本结构 30

3.3 变量 31

3.3.1 简单类型 31

3.3.2 变量的命名 35

3.3.3 字面值 36

3.3.4 变量的声明和赋值 38

3.4 表达式 39

3.4.1 数学运算符 39

3.4.2 赋值运算符 43

3.4.3 运算符的优先级 44

3.4.4 名称空间 45

3.5 小结 47

3.6 练习 48

3.7 本章要点 49

第4章 流程控制 51

4.1 布尔逻辑 51

4.1.1 布尔赋值运算符 54

4.1.2 按位运算符 55

4.1.3 运算符优先级的更新 59

4.2 goto语句 60

4.3 分支 61

4.3.1 三元运算符 61

4.3.2 if语句 61

4.3.3 switch语句 65

4.4 循环 68

4.4.1 do循环 68

4.4.2 while循环 71

4.4.3 for循环 73

4.4.4 循环的中断 77

4.4.5 无限循环 78

4.5 小结 78

4.6 练习 79

4.7 本章要点 79

第5章 变量的更多内容 81

5.1 类型转换 81

5.1.1 隐式转换 82

5.1.2 显式转换 83

5.1.3 使用Convert命令进行显式转换 86

5.2 复杂的变量类型 89

5.2.1 枚举 89

5.2.2 结构 93

5.2.3 数组 96

5.3 字符串的处理 102

5.4 小结 106

5.5 练习 107

5.6 本章要点 108

第6章 函数 109

6.1 定义和使用函数 110

6.1.1 返回值 111

6.1.2 参数 113

6.2 变量的作用域 120

6.2.1 其他结构中变量的作用域 122

6.2.2 参数和返回值与全局数据 124

6.3 Main()函数 125

6.4 结构函数 128

6.5 函数的重载 128

6.6 委托 130

6.7 小结 133

6.8 练习 133

6.9 本章要点 134

第7章 调试和错误处理 135

7.1 VS和VCE中的调试 135

7.1.1 非中断(正常)模式下的调试 136

7.1.2 中断模式下的调试 144

7.2 错误处理 152

7.2.1 try...catch...finally 153

7.2.2 列出和配置异常 157

7.2.3 异常处理的注意事项 158

7.3 小结 159

7.4 练习 159

7.5 本章要点 159

第8章 面向对象编程简介 161

8.1 面向对象编程的含义 162

8.1.1 对象的含义 162

8.1.2 一切皆对象 165

8.1.3 对象的生命周期 165

8.1.4 静态和实例类成员 166

8.2 OOP技术 167

8.2.1 接口 167

8.2.2 继承 169

8.2.3 多态性 171

8.2.4 对象之间的关系 172

8.2.5 运算符重载 173

8.2.6 事件 174

8.2.7 引用类型和值类型 174

8.3 Windows应用程序中的OOP 175

8.4 小结 177

8.5 练习 177

8.6 本章要点 178

第9章 定义类 179

9.1 C#中的类定义 179

9.2 System.Object 184

9.3 构造函数和析构函数 185

9.4 VS和VCE中的OOP工具 190

9.4.1 Class View窗口 190

9.4.2 对象浏览器 192

9.4.3 添加类 193

9.4.4 类图 194

9.5 类库项目 196

9.6 接口和抽象类 199

9.7 结构类型 201

9.8 浅度和深度复制 203

9.9 小结 203

9.10 练习 204

9.11 本章要点 204

第10章 定义类成员 205

10.1 成员定义 205

10.1.1 定义字段 206

10.1.2 定义方法 206

10.1.3 定义属性 207

10.1.4 在类图中添加成员 212

10.1.5 重构成员 215

10.1.6 自动属性 216

10.2 类成员的其他议题 217

10.2.1 隐藏基类方法 217

10.2.2 调用重写或隐藏的基类方法 219

10.2.3 嵌套的类型定义 220

10.3 接口的实现 220

10.4 部分类定义 224

10.5 部分方法定义 225

10.6 示例应用程序 227

10.6.1 规划应用程序 227

10.6.2 编写类库 228

10.6.3 类库的客户应用程序 235

10.7 Call Hierarchy窗口 236

10.8 小结 237

10.9 练习 237

10.10 本章要点 238

第11章 集合、比较和转换 239

11.1 集合 239

11.1.1 使用集合 240

11.1.2 定义集合 246

11.1.3 索引符 247

11.1.4 给CardLib添加Cards集合 250

11.1.5 关键字值集合和IDictionary 252

11.1.6 迭代器 254

11.1.7 深复制 259

11.1.8 给CardLib添加深复制 261

11.2 比较 263

11.2.1 类型比较 263

11.2.2 值比较 268

11.3 转换 283

11.3.1 重载转换运算符 284

11.3.2 as运算符 285

11.4 小结 286

11.5 练习 286

11.6 本章要点 287

第12章 泛型 289

12.1 泛型的概念 289

12.2 使用泛型 291

12.2.1 可空类型 291

12.2.2 System.Collections.Generic名称空间 297

12.3 定义泛型类型 307

12.3.1 定义泛型类 308

12.3.2 定义泛型接口 319

12.3.3 定义泛型方法 319

12.3.4 定义泛型委托 321

12.4 变体 321

12.4.1 协变 322

12.4.2 抗变 323

12.5 小结 324

12.6 练习 324

12.7 本章要点 325

第13章 其他OOP技术 327

13.1 运算符和全局名称空间限定符 327

13.2 定制异常 329

13.3 事件 331

13.3.1 事件的含义 331

13.3.2 处理事件 332

13.3.3 定义事件 334

13.4 扩展和使用CardLib 343

13.5 小结 351

13.6 练习 352

13.7 本章要点 352

第14章 C#语言的改进 353

14.1 初始化器 353

14.1.1 对象初始化器 354

14.1.2 集合初始化器 356

14.2 类型推理 359

14.3 匿名类型 360

14.4 动态查找 364

14.4.1 dynamic类型 365

14.4.2 IdynamicMetaObject-Provider 369

14.5 高级方法参数 369

14.5.1 可选参数 369

14.5.2 命名参数 371

14.5.3 命名参数和可选参数的规则 375

14.6 扩展方法 375

14.7 Lambda表达式 379

14.7.1 复习匿名方法 379

14.7.2 把Lambda表达式用于匿名方法 380

14.7.3 Lambda表达式的参数 383

14.7.4 Lambda表达式的语句体 384

14.7.5 Lambda表达式用作委托和表达式树 385

14.7.6 Lambda表达式和集合 386

14.8 小结 388

14.9 练习 389

14.10 本章要点 390

第Ⅱ部分 Windows编程 393

第15章 Windows编程基础 393

15.1 控件 393

15.1.1 属性 394

15.1.2 控件的定位、停靠和对齐 395

15.1.3 Anchor和Dock属性 395

15.1.4 事件 396

15.2 Button控件 398

15.2.1 Button控件的属性 398

15.2.2 Button控件的事件 398

15.2.3 添加事件处理程序 399

15.3 Label和LinkLabel控件 400

15.4 TextBox控件 401

15.4.1 TextBox控件的属性 401

15.4.2 TextBox控件的事件 402

15.4.3 添加事件处理程序 404

15.5 RadioButton和CheckBox控件 407

15.5.1 RadioButton控件的属性 408

15.5.2 RadioButton控件的事件 408

15.5.3 CheckBox控件的属性 408

15.5.4 CheckBox控件的事件 409

15.5.5 GroupBox控件 409

15.6 RichTextBox控件 412

15.6.1 RichTextBox控件的属性 412

15.6.2 RichTextBox控件的事件 413

15.7 ListBox和CheckedListBox控件 418

15.7.1 ListBox控件的属性 418

15.7.2 ListBox控件的方法 419

15.7.3 ListBox控件的事件 420

15.8 ListView控件 422

15.8.1 ListView控件的属性 422

15.8.2 ListView控件的方法 424

15.8.3 ListView控件的事件 424

15.8.4 ListViewItem 425

15.8.5 ColumnHeader 425

15.8.6 ImageList控件 425

15.9 TabControl控件 431

15.9.1 TabControl控件的属性 432

15.9.2 使用TabControl控件 432

15.10 小结 434

15.11 练习 434

15.12 本章要点 434

第16章 Windows窗体的高级功能 435

16.1 菜单和工具栏 435

16.1.1 两个实质一样的控件 436

16.1.2 使用MenuStrip控件 436

16.1.3 手工创建菜单 436

16.1.4 ToolStripMenultem控件的其他属性 438

16.1.5 给菜单添加功能 438

16.2 工具栏 440

16.2.1 ToolStrip控件的属性 441

16.2.2 ToolStrip的项 441

16.2.3 StatusStrip控件 445

16.2.4 StatusStripStatusLabel的属性 446

16.3 SDI和MDI应用程序 448

16.4 生成MDI应用程序 449

16.5 创建控件 456

16.5.1 调试用户控件 461

16.5.2 扩展LabelTextbox控件 461

16.6 小结 464

16.7 练习 464

16.8 本章要点 464

第17章 部署Windows应用程序 465

17.1 部署概述 465

17.2 ClickOnce部署 466

17.2.1 创建ClickOnce部署 466

17.2.2 用ClickOnce安装应用程序 474

17.2.3 创建和使用应用程序的更新包 476

17.3 Visual Studio安装和部署项目类型 477

17.4 Microsoft Windows安装程序结构 478

17.4.1 Windows安装程序术语 478

17.4.2 Windows安装程序的优点 480

17.5 为MDI Editor创建安装软件包 480

17.5.1 规划安装内容 480

17.5.2 创建项目 481

17.5.3 项目属性 482

17.5.4 安装编辑器 485

17.5.5 File System编辑器 485

17.5.6 File Types编辑器 488

17.5.7 Launch Condition编辑器 489

17.5.8 User Interface编辑器 490

17.6 生成项目 493

17.7 安装 493

17.7.1 Welcome 494

17.7.2 Read Me 494

17.7.3 License Agreement 495

17.7.4 Optional Files 495

17.7.5 选择安装文件夹 496

17.7.6 确认安装 496

17.7.7 进度 497

17.7.8 完成安装 497

17.7.9 运行应用程序 498

17.7.10 卸载 498

17.8 小结 498

17.9 练习 499

17.10 本章要点 499

第Ⅲ部分 Web编程 503

第18章 ASP.NET Web编程 503

18.1 Web应用程序概述 503

18.2 ASP.NET运行库 504

18.3 创建简单的Web页面 504

18.4 服务器控件 512

18.5 ASP.NET同送 513

18.6 ASP.NET AJAX回送 518

18.7 输入的有效性验证 521

18.8 状态管理 525

18.8.1 客户端的状态管理 525

18.8.2 服务器端的状态管理 527

18.9 样式 530

18.10 母版页 535

18.11 站点导航 540

18.12 身份验证和授权 542

18.12.1 身份验证的配置 543

18.12.2 使用安全控件 546

18.13 读写SQL Server数据库 549

18.14 小结 556

18.15 练习 556

18.16 本章要点 556

第19章 Web服务 557

19.1 使用Web服务的场合 557

19.1.1 宾馆旅行社代理应用程序 558

19.1.2 图书发布应用程序 558

19.1.3 客户应用程序的类型 558

19.2 应用程序的体系结构 558

19.3 Web服务的体系结构 559

19.3.1 调用方法和WSDL 559

19.3.2 调用方法 560

19.3.3 WS-I规范 561

19.4 Web服务和.NET Framework 561

19.4.1 创建Web服务 562

19.4.2 客户程序 563

19.5 创建简单的ASP.NET Web服务 564

19.6 测试Web服务 567

19.7 实现Windows客户程序 568

19.8 异步调用服务 572

19.9 实现ASP.NET客户程序 575

19.10 传送数据 576

19.11 小结 579

19.12 练习 580

19.13 本章要点 580

第20章 部署Web应用程序 581

20.1 Internet Information Services 581

20.2 IIS配置 582

20.3 复制Web站点 584

20.4 发布Web站点 587

20.5 Windows安装程序 589

20.5.1 创建安装程序 589

20.5.2 安装Web应用程序 591

20.6 小结 592

20.7 练习 593

20.8 本章要点 593

第Ⅳ部分 数据访问 597

第21章 文件系统数据 597

21.1 流 597

21.2 用于输入和输出的类 598

21.2.1 File类和Directory类 599

21.2.2 FileInfo类 600

21.2.3 DirectoryInfo类 602

21.2.4 路径名和相对路径 602

21.2.5 FileStream对象 602

21.2.6 StreamWriter对象 608

21.2.7 StreamReader对象 611

21.2.8 读写压缩文件 617

21.3 序列化对象 620

21.4 监控文件系统 625

21.5 小结 631

21.6 练习 632

21.7 本章要点 632

第22章 XML 633

22.1 XML文档 634

22.1.1 XML元素 634

22.1.2 特性 635

22.1.3 XML声明 635

22.1.4 XML文档的结构 636

22.1.5 XML名称空间 636

22.1.6 格式良好并有效的XML 637

22.1.7 验证XML文档 638

22.2 在应用程序中使用XML 641

22.2.1 XML文档对象模型 641

22.2.2 选择节点 650

22.2.3 XPath 651

22.3 小结 654

22.4 练习 655

22.5 本章要点 655

第23章 LINQ简介 657

23.1 第一个LINQ查询 658

23.1.1 用var关键字声明结果变量 659

23.1.2 指定数据源:from子句 660

23.1.3 指定条件:where子句 660

23.1.4 指定元素:select子句 660

23.1.5 完成:使用foreach循环 661

23.1.6 延迟执行的查询 661

23.2 使用LINQ方法语法 661

23.2.1 LINQ扩展方法 661

23.2.2 查询语法和方法语法 662

23.3 排序查询结果 663

23.4 orderby子句 665

23.5 用方法语法排序 665

23.6 查询大型数据集 667

23.7 聚合运算符 669

23.8 查询复杂的对象 672

23.9 投影:在查询中创建新对象 676

23.10 投影:方法语法 678

23.11 单值选择查询 678

23.12 Any和All 679

23.13 多级排序 681

23.14 多级排序方法语法:ThenBy 683

23.15 组合查询 683

23.16 Take和Skip 685

23.17 First和FirstOrDefault 687

23.18 集运算符 688

23.19 Join查询 691

23.20 小结 693

23.21 练习 693

23.22 本章要点 693

第24章 应用LINQ 695

24.1 LINQ的变体 695

24.2 给数据库使用LINQ 696

24.3 安装SQL Server和Northwind示例数据 696

24.3.1 安装SQL Server Express 2008 697

24.3.2 安装Northwind示例数据库 697

24.4 第一个LINQ数据库查询 697

24.5 浏览数据库关系 701

24.6 使用LINQ to XML 703

24.7 LINQ to XML函数构造方法 703

24.8 保存和加载XML文档 707

24.8.1 从字符串中加载XML 710

24.8.2 已保存的XML文档内容 710

24.9 处理XML片段 710

24.10 从数据库中生成XML 713

24.11 查询XML文档的方法 715

24.12 使用LINQ to XML查询成员 716

24.12.1 Elements() 717

24.12.2 Descendants() 717

24.12.3 Attributes() 719

24.13 小结 721

24.14 练习 721

24.15 本章要点 722

第Ⅴ部分 其他技术 725

第25章 Windows Presentation Foundation 725

25.1 WPF的概念 726

25.1.1 WPF给设计人员带来的好处 726

25.1.2 WPF给C#开发人员带来的好处 728

25.2 基本WPF应用程序的组成 729

25.3 WPF基础 739

25.3.1 XAML语法 740

25.3.2 桌面和Web应用程序 742

25.3.3 Application对象 742

25.3.4 控件基础 743

25.3.5 控件的布局 751

25.3.6 控件的样式 760

25.3.7 触发器 764

25.3.8 动画 765

25.3.9 静态和动态资源 768

25.4 用WPF编程 773

25.4.1 WPF用户控件 774

25.4.2 实现依赖属性 774

25.5 小结 784

25.6 练习 785

25.7 本章要点 785

第26章 Windows Communication Foundation 787

26.1 WCF的含义 788

26.2 WCF概念 788

26.2.1 WCF通信协议 789

26.2.2 地址、端点和绑定 789

26.2.3 合同 791

26.2.4 消息模式 791

26.2.5 行为 792

26.2.6 驻留 792

26.3 WCF编程 792

26.3.1 WCF测试客户程序 800

26.3.2 定义WCF服务合同 802

26.3.3 自驻留的WCF服务 810

26.4 小结 816

26.5 练习 817

26.6 本章要点 817

第27章 Windows Workflow Foundation 819

27.1 Hello World 819

27.2 工作流和活动 821

27.2.1 If活动 821

27.2.2 While活动 822

27.2.3 Sequence活动 822

27.3 变元和变量 823

27.4 定制活动 828

27.4.1 工作流扩展 830

27.4.2 活动的有效性验证 835

27.4.3 活动设计器 836

27.5 小结 838

27.6 练习 838

27.7 本章要点 838

附录A 习题答案 839