《Visual C# 2010从入门到精通》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(美)夏普著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302234289
  • 页数:652 页
图书介绍:C# 2010新增了大量可圈可点的丰富特性,本书围绕基础知识和这些新特性全面介绍了如何利用Visual Studio 2010和 .NET Framework 4.0编写应用程序。

第Ⅰ部分 Visual C#和Visual Studio 2010概述第1章 欢迎进入C#编程世界 3

1.1 开始在Visual Studio 2010环境中编程 3

1.2 编写第一个程序 8

1.3 使用命名空间 12

1.4 创建图形应用程序 15

第1章快速参考 22

第2章 使用变量、操作符和表达式 25

2.1 理解语句 25

2.2 使用标识符 26

2.3 使用变量 27

2.3.1 命名变量 27

2.3.2 声明变量 28

2.4 使用基本数据类型 28

2.4.1 未赋值的局部变量 29

2.4.2 显示基本数据类型值 29

2.5 使用算术操作符 33

2.5.1 操作符和数据类型 33

2.5.2 深入了解算术操作符 35

2.5.3 控制优先级 37

2.5.4 使用结合性对表达式进行求值 38

2.5.5 结合性和赋值操作符 38

2.6 变量的递增和递减 39

2.7 声明隐式类型的局部变量 40

第2章快速参考 42

第3章 方法和作用域 43

3.1 创建方法 43

3.1.1 声明方法 43

3.1.2 从方法返回数据 44

3.1.3 调用方法 46

3.2 使用作用域 48

3.2.1 定义局部作用域 48

3.2.2 定义类的作用域 49

3.2.3 重载方法 50

3.3 编写方法 50

3.4 使用可选参数和命名参数 57

3.4.1 定义可选参数 58

3.4.2 传递命名参数 58

3.4.3 消除可选参数和命名参数的歧义 59

第3章快速参考 63

第4章 使用决策语句 65

4.1 声明布尔变量 65

4.2 使用布尔操作符 66

4.2.1 理解相等和关系操作符 66

4.2.2 理解条件逻辑操作符 66

4.2.3 短路求值 67

4.2.4 操作符的优先级和结合性总结 68

4.3 使用if语句来做出决策 68

4.3.1 理解if语句的语法 69

4.3.2 使用代码块来对语句进行分组 70

4.3.3 嵌套if语句 70

4.4 使用switch语句 75

4.4.1 理解switch语句的语法 75

4.4.2 遵守switch语句的规则 76

第4章快速参考 79

第5章 使用复合赋值和循环语句 81

5.1 使用复合赋值操作符 81

5.2 使用while语句 82

5.3 编写for语句 86

5.4 编写do语句 88

第5章快速参考 95

第6章 管理错误和异常 97

6.1 处理错误 97

6.2 尝试执行代码和捕捉异常 98

6.2.1 未处理的异常 99

6.2.2 使用多个catch处理程序 100

6.2.3 捕捉多个异常 100

6.3 使用checked和unchecked整数运算 104

6.3.1 编写checked语句 105

6.3.2 编写checked表达式 106

6.4 抛出异常 107

6.5 使用finally块 111

第6章快速参考 112

第Ⅱ部分 理解C#语言 117

第7章 创建并管理类和对象 117

7.1 理解分类 117

7.2 封装的目的 118

7.3 定义并使用类 118

7.4 控制可访问性 119

7.4.1 使用构造器 120

7.4.2 重载构造器 121

7.5 理解静态方法和数据 128

7.5.1 创建共享字段 129

7.5.2 使用const关键字创建静态字段 130

7.5.3 静态类 130

7.5.4 匿名类 132

第7章快速参考 134

第8章 理解值和引用 135

8.1 复制值类型的变量和类 135

8.2 理解null值和可空类型 139

8.2.1 使用可空类型 140

8.2.2 理解可为空类型的属性 141

8.3 使用ref和out参数 142

8.3.1 创建ref参数 142

8.3.2 创建out参数 143

8.4 计算机内存的组织方式 145

8.5 System.Object类 147

8.6 装箱 147

8.7 拆箱 148

8.8 数据类型的安全转换 149

8.8.1 is操作符 150

8.8.2 as操作符 150

第8章快速参考 152

第9章 使用枚举和结构来创建值类型 155

9.1 使用枚举 155

9.1.1 声明枚举 155

9.1.2 使用枚举 156

9.1.3 选择枚举文字常量值 157

9.1.4 选择枚举的基本类型 157

9.2 使用结构 159

9.2.1 声明结构 161

9.2.2 理解结构和类的区别 162

9.2.3 声明结构变量 163

9.2.4 理解结构的初始化 164

9.2.5 复制结构变量 167

第9章快速参考 170

第10章 使用数组和集合 171

10.1 什么是数组 171

10.1.1 声明数组变量 171

10.1.2 创建数组实例 172

10.1.3 初始化数组变量 173

10.1.4 创建隐式类型的数组 173

10.1.5 访问单独的数组元素 174

10.1.6 遍历数组 175

10.1.7 复制数组 176

10.1.8 使用多维数组 177

10.1.9 使用数组来玩牌 178

10.2 什么是集合类 184

10.2.1 ArrayList集合类 185

10.2.2 Queue集合类 187

10.2.3 Stack集合类 188

10.2.4 Hashtable集合类 189

10.2.5 SortedList集合类 190

10.2.6 使用集合初始化器 191

10.2.7 比较数组和集合 192

10.2.8 使用集合类来玩牌 192

第10章快速参考 195

第11章 理解参数数组 197

11.1 使用数组参数 199

11.1.1 声明params数组 200

11.1.2 使用params object[] 201

11.1.3 使用params数组 203

11.2 比较参数数组和可选参数 205

第11章快速参考 207

第12章 使用继承 207

12.1 什么是继承 207

12.2 使用继承 208

12.2.1 调用基类构造器 209

12.2.2 类的赋值 210

12.2.3 声明new方法 212

12.2.4 声明virtual方法 213

12.2.5 声明override方法 214

12.2.6 理解protected访问 217

12.3 理解扩展方法 222

第12章快速参考 225

第13章 创建接口和定义抽象类 227

13.1 理解接口 227

13.1.1 定义接口 228

13.1.2 实现接口 228

13.1.3 通过接口来引用一个类 230

13.1.4 使用多个接口 230

13.1.5 显式实现接口 230

13.1.6 接口的限制 232

13.1.7 定义和使用接口 233

13.2 抽象类 241

13.3 密封类 243

13.3.1 密封方法 243

13.3.2 实现并使用一个抽象类 243

第13章快速参考 248

第14章 使用垃圾回收和资源管理 251

14.1 对象的生存期 251

14.1.1 编写析构器 252

14.1.2 为什么要使用垃圾回收器 254

14.1.3 垃圾回收器的工作机理 255

14.1.4 慎用析构器 255

14.2 资源管理 256

14.2.1 disposal方法 256

14.2.2 异常安全的disposal方法 257

14.2.3 using语句 257

14.2.4 从析构器中调用Dispose方法 259

14.3 实现异常安全的disposal 260

第14章快速参考 263

第Ⅲ部分 创建组件 267

第15章 实现属性以访问字段 267

15.1 使用方法来实现封装 267

15.2 什么是属性 269

15.2.1 使用属性 271

15.2.2 只读属性 271

15.2.3 只写属性 272

15.2.4 属性的可访问性 272

15.3 理解属性的局限性 273

15.4 在接口中声明属性 275

15.5 生成自动属性 277

15.6 使用属性来初始化对象 279

第15章快速参考 283

第16章 使用索引器 285

16.1 什么是索引器 285

16.1.1 没有使用索引器的例子 285

16.1.2 使用索引器的同一个例子 287

16.1.3 理解索引器的accessor 289

16.1.4 对比索引器和数组 290

16.2 接口中的索引器 292

16.3 在Windows应用程序中使用索引器 293

第16章快速参考 297

第17章 中断程序流程并处理事件 299

17.1 声明和使用委托 299

17.1.1 自动化工厂的例子 300

17.1.2 不使用委托来实现工厂 300

17.1.3 使用委托来实现工厂 301

17.1.4 使用委托 303

17.2 lambda表达式和委托 308

17.2.1 创建方法适配器 308

17.2.2 将lambda表达式作为适配器使用 309

17.2.3 lambda表达式的形式 309

17.3 启用事件通知 311

17.3.1 声明事件 311

17.3.2 订阅事件 312

17.3.3 取消订阅事件 313

17.3.4 引发事件 313

17.4 理解WPF用户界面事件 313

第17章快速参考 319

第18章 泛型概述 321

18.1 object存在的问题 321

18.2 泛型解决方案 323

18.2.1 对比泛型类与泛化类 325

18.2.2 泛型和约束 325

18.3 创建泛型类 325

18.3.1 二叉树理论 325

18.3.2 使用泛型构造二叉树类 328

18.4 创建泛型方法 337

18.5 可变性和泛型接口 340

18.5.1 协变接口 341

18.5.2 逆变接口 343

第18章快速参考 345

第19章 枚举集合 347

19.1 枚举集合中的元素 347

19.1.1 手动实现枚举器 348

19.1.2 实现IEnumerable接口 352

19.2 使用迭代器来实现枚举器 354

19.2.1 一个简单的迭代器 354

19.2.2 使用迭代器为Tree〈TItem〉类定义枚举器 356

第19章快速参考 358

第20章 使用查询表达式来查询内存中的数据 361

20.1 什么是语言集成查询 361

20.2 在C#应用程序中使用LINQ 362

20.2.1 选择数据 363

20.2.2 筛选数据 366

20.2.3 排序、分组和聚合数据 366

20.2.4 联接数据 368

20.2.5 使用查询操作符 370

20.2.6 查询Tree〈TItem〉对象中的数据 372

20.2.7 LINQ和推迟求值 377

第20章快速参考 380

第21章 操作符重载 383

21.1 理解操作符 383

21.1.1 操作符的限制 384

21.1.2 重载的操作符 384

21.1.3 创建对称操作符 385

21.2 理解复合赋值 387

21.3 声明递增操作符和递减操作符 388

21.4 比较结构和类中的操作符 389

21.5 定义操作符对 390

21.6 实现操作符 391

21.7 理解转换操作符 397

21.7.1 提供内建转换 397

21.7.2 实现用户自定义的转换操作符 398

21.7.3 再论创建对称操作符 399

21.7.4 添加隐式转换操作符 399

第21章快速参考 402

第Ⅳ部分 操纵Windows应用程序 405

第22章 Windows Presentation Foundation概述 405

22.1 创建WPF应用程序 405

22.2 在窗体上添加控件 418

22.2.1 使用WPF控件 418

22.2.2 动态更改属性 425

22.3 处理WPF窗体中的事件 429

第22章快速参考 434

第23章 收集用户输入 437

23.1 菜单设计原则和样式 437

23.2 菜单和菜单事件 438

23.2.1 创建菜单 438

23.2.2 处理菜单事件 443

23.3 快捷菜单 449

23.4 Windows通用对话框 453

23.5 增强WPF应用程序的响应能力 456

第23章快速参考 464

第24章 执行校验 467

24.1 验证数据 467

用户输入验证策略 467

24.2 示例:订票系统 468

24.2.1 使用数据绑定执行校验 469

24.2.2 改变校验时机 484

第24章快速参考 487

第Ⅴ部分 管理数据 491

第25章 查询数据库中的信息 491

25.1 使用ADO.NET查询数据库 491

25.1.1 Northwind数据库 492

25.1.2 创建数据库 492

25.1.3 使用ADO.NET查询订单信息 494

25.2 使用LINQ to SQL查询数据库 503

25.2.1 定义实体类 503

25.2.2 创建并运行LINQ to SQL查询 505

25.2.3 推迟取回和立即取回 507

25.2.4 联接表和创建关系 507

25.2.5 再论推迟取回和立即取回 511

25.2.6 定义自定义的DataContxt类 512

25.2.7 用LINQ to SQL查询订单信息 513

第25章快速参考 517

第26章 使用实体框架和数据绑定显示和编辑数据 519

26.1 通过实体框架进行数据绑定 520

26.2 通过数据绑定修改数据 534

26.2.1 更新现有数据 534

26.2.2 处理冲突的更新 535

26.2.3 添加和删除数据 537

第26章快速参考 545

第Ⅵ部分 使用Visual Studio 2010构建专业解决方案第27章 任务并行库入门 549

27.1 为何使用并行处理来执行多任务处理 550

27.2 在桌面应用程序中实现多任务处理 551

27.2.1 任务、线程和线程池 552

27.2.2 创建、运行和控制任务 553

27.2.3 使用Task类实现并行处理 557

27.2.4 使用Parallel类对任务进行抽象 564

27.2.5 什么时候不使用Parallel类 568

27.2.6 从任务返回值 571

27.3 任务和UI线程一起使用 574

27.4 取消任务和处理异常 578

27.4.1 协作式取消的原理 578

27.4.2 使用AggregateException类处理任务异常 586

27.4.3 为Canceled和Faulted任务使用延续任务 589

第27章快速参考 590

第28章 执行并行数据访问 593

28.1 用PLINQ并行进行声明式数据访问 593

28.1.1 用PLINQ增强遍历集合时的性能 594

28.1.2 指定PLINQ查询选项 598

28.1.3 取消PLINQ查询 598

28.2 同步并发的命令式数据访问 599

28.2.1 锁定数据 602

28.2.2 TPL提供的同步基元 603

28.2.3 取消和同步基元 609

28.2.4 并发集合类 609

28.2.5 使用并发集合和锁来实现线程安全的数据访问 611

第28章快速参考 620

第29章 创建和使用Web服务 623

29.1 Web服务的定义 623

29.2 Web服务架构 624

29.2.1 SOAP Web服务 625

29.2.2 REST Web服务 627

29.3 构建Web服务 628

29.3.1 创建ProductInformation SOAP Web服务 628

29.3.2 SOAP Web服务、客户端和代理 635

29.3.3 消费ProductInformation SOAP Web服务 636

29.3.4 创建ProductDetails REST Web服务 641

28.3.5 使用ProductDetails REST Web服务 647

第29章快速参考 651