《C# 2008编程参考手册》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(美)Wei-MengLee编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302209553
  • 页数:690 页
图书介绍:本书包括C#语言和面向对象编程的基础知识、使用泛型增强应用程序的效率和类型安全性的方式、构建Windows通信基础服务以及理解隐藏在这些服务背后的理论的方式。

第Ⅰ部分 C#基础 3

第1章 .NET Framework 3

1.1 .NET Framework简介 3

1.1.1 公共语言运行库 3

1.1.2 .NET Framework类库 4

1.2 程序集和Microsoft中间语言(MSIL) 5

1.3 .NET Framework和Visual Studio的各种版本 7

1.4 小结 8

第2章 Visual Studio 2008入门 9

2.1 Visual Studio 2008概述 9

2.1.1 选择开发设置 10

2.1.2 复位开发设置 11

2.1.3 创建新项目 12

2.1.4 IDE的组件 13

2.2 代码和文本编辑器 25

2.2.1 代码片段 25

2.2.2 IntelliSense 26

2.2.3 重构支持 28

2.3 调试 37

2.3.1 设置断点 37

2.3.2 单步调试代码 38

2.3.3 监视 39

2.3.4 Autos和Immediate窗口 40

2.4 单元测试 40

2.4.1 创建测试 41

2.4.2 运行测试 43

2.4.3 测试浮点数 44

2.4.4 添加额外的测试方法 45

2.5 小结 46

第3章 C#语言基础 47

3.1 使用Visual Studio 2008 47

3.2 使用C#编译器(csc.exe) 49

3.3 详细分析HelloWorld程序 51

3.4 语言语法 54

3.4.1 关键字 54

3.4.2 变量 54

3.4.3 变量的作用域 55

3.4.4 常量 58

3.4.5 注释 59

3.4.6 XML文档 59

3.5 数据类型 62

3.5.1 值类型 62

3.5.2 引用类型 67

3.5.3 枚举 68

3.5.4 数组 69

3.5.5 隐式类型 70

3.5.6 类型转换 71

3.6 流程控制 74

3.6.1 if-else语句 74

3.6.2 switch语句 75

3.7 循环 77

3.7.1 for循环 78

3.7.2 嵌套的for循环 79

3.7.3 foreach 79

3.7.4 while和do-while循环 80

3.7.5 从循环退出 80

3.7.6 跳出迭代 83

3.8 运算符 84

3.8.1 赋值运算符 84

3.8.2 关系运算符 86

3.8.3 逻辑运算符 87

3.8.4 数学运算符 89

3.8.5 运算符优先级 90

3.9 预处理器指令 91

3.9.1 #define和#undef 91

3.9.2 #if、#else、#elif和#endif 95

3.9.3 #warning和#error 96

3.9.4 #line 98

3.9.5 #region和#endregion 99

3.9.6 #pragma warning 101

3.10 小结 103

第4章 类和对象 105

4.1 类 105

4.1.1 定义类 106

4.1.2 使用部分类 106

4.1.3 创建类的实例(对象实例化) 107

4.1.4 匿名类型(C# 3.0新增) 108

4.1.5 类成员 110

4.1.6 函数成员 113

4.1.7 静态类 133

4.2 System.Object类 134

4.2.1 测试相等性 135

4.2.2 实现相等性 137

4.2.3 ToString()方法 138

4.2.4 属性 139

4.3 结构体 142

4.4 小结 145

第5章 接口 147

5.1 定义接口 147

5.2 实现接口 148

5.3 实现多个接口 149

5.4 扩展接口 150

5.5 接口强制转换 152

5.6 is和as运算符 153

5.7 重写接口实现 154

5.8 小结 156

第6章 继承 157

6.1 理解C#中的继承 157

6.2 实现继承 158

6.2.1 抽象类 159

6.2.2 抽象方法 160

6.2.3 虚方法 162

6.2.4 密封的类和方法 164

6.2.5 重载方法 165

6.2.6 重载运算符 168

6.2.7 扩展方法(C# 3.0新增) 171

6.2.8 访问修饰符 173

6.2.9 继承和构造函数 174

6.2.10 调用基类构造函数 175

6.3 接口继承 176

6.4 显式接口成员实现 180

6.5 小结 183

第7章 委托和事件 185

7.1 委托 185

7.1.1 创建委托 185

7.1.2 委托链接(多播委托) 188

7.1.3 使用委托实现回调 192

7.1.4 异步回调 193

7.1.5 匿名方法和拉姆达表达式 196

7.2 事件 197

7.2.1 处理事件 199

7.2.2 实现事件 203

7.2.3 事件和委托之间的区别 206

7.2.4 将状态信息传递给事件处理程序 207

7.3 小结 210

第8章 字符串和正则表达式 211

8.1 System.String类 211

8.1.1 转义字符 213

8.1.2 字符串操作 216

8.1.3 字符串格式化 223

8.1.4 StringBuilder类 225

8.2 正则表达式 227

8.2.1 搜索匹配项 227

8.2.2 更复杂的模式匹配 228

8.3 小结 230

第9章 泛型 231

9.1 理解泛型 231

9.1.1 泛型类 233

9.1.2 在泛型中使用default关键字 235

9.1.3 泛型的优点 237

9.1.4 在泛型类型中使用约束 237

9.1.5 泛型接口 241

9.1.6 泛型结构体 242

9.1.7 泛型方法 242

9.1.8 泛型运算符 244

9.1.9 泛型委托 246

9.2 泛型和.NET Framework类库 246

9.3 使用LinkedList〈T〉泛型类 249

9.4 System.Collection.ObjectModel 253

9.5 小结 256

第10章 线程化 257

10.1 多线程化的需要 257

10.1.1 启动线程 258

10.1.2 终止线程 260

10.1.3 向线程传递形参 264

10.2 线程同步 266

10.2.1 使用Interlocked类 267

10.2.2 使用C#的lock关键字 267

10.2.3 Monitor类 270

103 Windows Forms中的线程安全 274

10.3.1 使用BackgroundWorker控件 277

10.3.2 测试应用程序 281

10.4 小结 282

第11章 文件和流 283

11.1 操作文件和目录 283

11.1.1 操作目录 283

11.1.2 使用File和FileInfo类操作文件 287

11.1.3 创建文件资源管理器 291

11.2 Stream类 293

11.2.1 BufferedStream 295

11.2.2 FileStream类 296

11.2.3 MemoryStream 298

11.2.4 NetworkStream类 299

11.3 加密 305

11.3.1 散列 305

11.3.2 随机值散列 307

11.3.3 加密和解密 308

11.4 Stream对象的压缩 314

11.4.1 压缩 314

11.4.2 解压缩 315

11.5 串行化 320

11.5.1 二进制串行化 320

11.5.2 XML串行化 326

11.6 小结 336

第12章 异常处理 337

12.1 处理异常 337

12.1.1 使用try-catch语句处理异常 338

12.1.2 处理多个异常 340

12.1.3 使用throw语句抛出异常 343

12.1.4 重新抛出异常 345

12.1.5 异常链接 347

12.1.6 使用Exception对象 349

12.1.7 finally语句 351

12.2 创建自定义异常 353

12.3 小结 355

第13章 数组和集合 357

13.1 数组 357

13.1.1 访问数组元素 359

13.1.2 多维数组 360

13.1.3 数组中的数组:交错数组 361

13.1.4 形参数组 362

13.1.5 复制数组 363

13.2 集合接口 363

13.2.1 使用ArrayList类的动态数组 364

13.2.2 索引器和迭代器 366

13.2.3 实现IEnumerable〈T〉和IEnumerator〈T〉 368

13.2.4 使用IComparer〈T〉和IComparable〈T〉实现比较 371

13.2.5 字典 378

13.2.6 栈 380

13.2.7 队列 381

13.3 小结 382

第14章 语言集成查询(LINQ) 383

14.1 LINQ体系结构 383

14.1.1 LINQ to Objects 384

14.1.2 查询语法与方法语法的对比以及拉姆达表达式 387

14.1.3 LINQ和扩展方法 388

14.1.4 LINQ和匿名类型 393

14.2 LINQ to DataSet 394

14.2.1 重新调整数据 397

14.2.2 聚集函数 398

14.2.3 连接表 399

14.2.4 类型化DataSet 402

14.2.5 检测空字段 404

14.2.6 将查询的结果保存到DataTable 405

14.3 LINQ to XML 405

14.3.1 创建XML树 406

14.3.2 查询元素 408

14.3.3 使用RSS的示例 409

14.4 LINQ to SQL 413

14.4.1 使用对象关系设计器 413

14.4.2 查询 415

14.4.3 插入新行 416

14.4.4 更新行 418

14.4.5 删除行 418

14.5 小结 420

第15章 程序集和版本化 421

15.1 程序集 421

15.1.1 程序集的结构 421

15.1.2 研究程序集的内容 422

15.1.3 单文件程序集和多文件程序集 423

15.1.4 理解名称空间和程序集 433

15.2 私有程序集和共享程序集 437

15.2.1 创建共享程序集 439

15.2.2 全局程序集缓存 443

15.2.3 将共享程序集放入GAC中 443

15.2.4 在Visual Studio中使共享程序集可见 445

15.2.5 使用共享程序集 446

15.3 小结 449

第Ⅱ部分 使用C#开发应用程序 453

第16章 开发Windows应用程序 453

16.1 项目 453

16.1.1 配置FTP服务器 453

16.1.2 创建应用程序 455

16.1.3 使用应用程序设置 458

16.1.4 编写应用程序代码 462

16.1.5 构建目录树和显示图像 463

16.1.6 创建新目录 470

16.1.7 删除目录 471

16.1.8 上传照片 472

16.1.9 删除照片 473

16.1.10 测试应用程序 474

16.2 添加打印功能 474

16.2.1 .NET中的打印基础知识 475

16.2.2 向项目添加打印支持 475

16.3 部署应用程序 480

16.3.1 使用ClickOnce发布应用程序 481

16.3.2 更新应用程序 483

16.3.3 以编程方式更新应用程序 485

16.3.4 回滚 487

16.3.5 深入实质:应用程序清单和部署清单 487

16.4 小结 489

第17章 开发ASP.NET Web应用程序 491

17.1 ASP.NET简介 491

17.1.1 ASP.NET的工作方式 492

17.1.2 运行ASP.NET所需的软件 492

17.2 数据绑定 492

17.2.1 使用LINQ to SQL建模数据库 493

17.2.2 使用GridView控件绑定数据 495

17.2.3 显示出版商的名称 499

17.2.4 显示所选择出版商的书目 500

17.2.5 使出版商字段可编辑 503

17.3 使用AJAX构建响应灵敏的应用程序 504

17.3.1 AJAX Control Toolkit 505

17.3.2 使用ScriptManager控件使AJAX支持页面 506

17.3.3 使用UpdatePanel控件 507

17.3.4 使用触发器引发更新 508

17.3.5 使用UpdateProgress控件显示进度 508

17.3.6 使用ModalPopupExtender控件显示模态对话框 509

17.4 小结 514

第18章 开发Windows Mobile应用程序 515

18.1 Windows Mobile平台 515

18.2 使用.NET Compact Framework开发Windows Mobile应用程序 517

18.3 获得适当的SDK和工具 518

18.4 构建RSS阅读器应用程序 520

18.4.1 构建用户界面 520

18.4.2 创建辅助方法 523

18.4.3 编写所有事件处理程序 529

18.4.4 使用仿真器执行测试 535

18.4.5 使用实际的设备执行测试 536

18.5 部署应用程序 536

18.5.1 创建CAB文件 537

18.5.2 创建安装应用程序 540

18.6 小结 550

第19章 开发Silverlight应用程序 551

19.1 Silverlight的发展情况 551

19.1.1 获得相关工具 553

19.1.2 Silverlight的体系结构 553

19.2 使用XAML构建Silverlight UI 554

19.2.1 创建具备基本要素的Silverlight应用程序 554

19.2.2 理解XAML 557

19.2.3 使用Expression Blend 2制作XAML 566

19.3 Silverlight 1.0 573

19.3.1 动画制作——第1部分 573

19.3.2 动画制作——第2部分 577

19.3.3 播放媒体 580

19.3.4 创建自己的媒体播放器 588

19.4 Silverlight 2.0 600

19.5 小结 616

第20章 Windows通信基础 617

20.1 WCF简介 617

20.1.1 WCF与ASMXWeb Service的比较 621

20.1.2 第一个WCF服务 621

20.1.3 使用WCF服务 627

20.2 理解WCF的工作方式 629

20.2.1 WCF通信协议 629

20.2.2 WCF中的ABC 629

20.2.3 消息接发模式 631

20.2.4 驻留WCF服务 632

20.3 构建WCF服务 632

20.3.1 提供多个端点 632

20.3.2 创建自驻留的WCF服务 637

20.3.3 实现WCF回调 644

20.3.4 从AJAX页面调用WCF服务 656

20.4 小结 659

第Ⅲ部分 附录 663

附录A C#关键字 663

A.1 C#的保留关键字 664

A.2 上下文关键字 667

附录B 使用Object Browser研究.NET类库 669

B.1 .NET Framework的各种版本 669

B.1.1 .NET Framework 2.0 670

B.1.2 .NET Framework 3.0 670

B.1.3 .NET Framework 3.5 670

B.2 使用Object Browser 671

附录C 生成C#应用程序的文档 677

C.1 使用XML内联文档 677

C.2 生成文档 684

C.2.1 下载和安装Sandcastle 684

C.2.2 启动Sandcastle 685

C.2.3 构建和查看文档 686

C.2.4 发布文档 689