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

  • 购买积分:19 如何计算积分?
  • 作  者:(英)JohnSharp著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302345091
  • 页数:653 页
图书介绍:本书围绕着基础知识和这些新特性全面介绍了如何利用Visual Studio 2012编写应用程序。书中沿袭深受读者欢迎的Step by Step风格,通过丰富的练习引导读者逐步构建Windows应用程序,访问SQL Server数据库,开发ASP.NET Web应用程序,创建并使用Web服务等。无论是刚开始接触面向对象编程的新手,还是打算转移到C#的具有C,C++或者Java基础的程序员,都可以从本书中吸取到新的知识。

第Ⅰ部分Visual C#和Visual Studio 2012概述 3

第1章 欢迎进入C#编程世界 3

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

1.2编写第一个程序 7

1.3使用命名空间 11

1.4创建图形应用程序 14

1.4.1探索Windows Store应用程序 23

1.4.2探索WPF应用程序 26

1.4.3向图形应用程序添加代码 28

小结 30

第1章快速参考 30

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

2.1理解语句 32

2.2使用标识符 33

2.3使用变量 34

2.3.1命名变量 34

2.3.2声明变量 35

2.4使用基元数据类型 35

2.4.1未赋值的局部变量 36

2.4.2显示基元数据类型的值 36

2.5使用算术操作符 42

2.5.1操作符和类型 42

2.5.2深入了解算术操作符 44

2.5.3控制优先级 49

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

2.5.5结合性和赋值操作符 50

2.6变量递增和递减 51

前缀和后缀 51

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

小结 53

第2章快速参考 53

第3章 方法和作用域 54

3.1创建方法 54

3.1.1声明方法 54

3.1.2从方法返回数据 55

3.1.3调用方法 57

3.2使用作用域 59

3.2.1定义局部作用域 60

3.2.2定义类作用域 60

3.2.3重载方法 61

3.3编写方法 62

3.4使用可选参数和具名参数 68

3.4.1定义可选参数 70

3.4.2传递具名参数 70

3.4.3消除可选参数和具名参数的歧义 71

小结 75

第3章快速参考 75

第4章 使用判断语句 77

4.1声明布尔变量 77

4.2使用布尔操作符 77

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

4.2.2理解条件逻辑操作符 78

4.2.3短路求值 79

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

4.3使用if语句做出判断 80

4.3.1理解if语句的语法 80

4.3.2使用代码块分组语句 81

4.3.3嵌套if语句 82

4.4使用switch语句 87

4.4.1理解switch语句的语法 88

4.4.2遵守switch语句的规则 89

小结 92

第4章快速参考 92

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

5.1使用复合赋值操作符 94

5.2使用while语句 95

5.3编写for语句 100

5.4编写do语句 102

小结 109

第5章快速参考 109

第6章 管理错误和异常 111

6.1处理错误 111

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

6.2.1未处理的异常 113

6.2.2使用多个catch处理程序 113

6.2.3捕捉多个异常 114

6.2.4传播异常 119

6.3使用checked和unchecked整数运算 121

6.3.1编写checked语句 122

6.3.2编写checked表达式 122

6.4引发异常 125

6.5使用finally块 129

小结 130

第6章快速参考 131

第Ⅱ部分 理解C#对象模型 135

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

7.1理解分类 135

7.2封装的目的 135

7.3定义并使用类 136

7.4控制可访问性 137

7.4.1使用构造器 138

7.4.2重载构造器 139

7.5理解静态方法和数据 146

7.5.1创建共享字段 147

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

7.5.3静态类 148

7.5.4匿名类 150

小结 151

第7章快速参考 152

第8章 理解值和引用 154

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

8.2理解null值和可空类型 159

8.2.1使用可空类型 160

8.2.2理解可空类型的属性 161

8.3使用ref和out参数 162

8.3.1创建ref参数 162

8.3.2创建out参数 163

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

8.5 System.Object类 167

8.6装箱 168

8.7拆箱 168

8.8数据类型的安全转换 170

8.8.1 is操作符 170

8.8.2 as操作符 170

小结 172

第8章快速参考 173

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

9.1使用枚举 175

9.1.1声明枚举 175

9.1.2使用枚举 175

9.1.3选择枚举文字常量值 176

9.1.4选择枚举的基本类型 177

9.2使用结构 179

9.2.1声明结构 181

9.2.2理解结构和类的区别 182

9.2.3声明结构变量 183

9.2.4理解结构的初始化 184

9.2.5复制结构变量 187

小结 191

第9章快速参考 191

第10章 使用数组 192

10.1声明和创建数组 192

10.1.1声明数组变量 192

10.1.2创建数组实例 193

10.1.3填充和使用数组 194

10.1.4创建隐式类型的数组 194

10.1.5访问单独的数组元素 195

10.1.6遍历数组 196

10.1.7数组作为方法参数和返回值传递 197

10.1.8复制数组 198

10.1.9使用多维数组 200

10.1.10创建交错数组 200

小结 210

第10章快速参考 210

第11章 理解参数数组 212

11.1回顾重载 212

11.2使用数组参数 213

11.2.1声明参数数组 214

11.2.2使用params object[] 216

11.2.3使用参数数组 217

11.3比较参数数组和可选参数 220

小结 222

第11章快速参考 222

第12章 使用继承 223

12.1什么是继承 223

12.2使用继承 224

12.2.1复习System.Object类 225

12.2.2调用基类构造器 226

12.2.3类的赋值 227

12.2.4声明新方法 228

12.2.5声明虚方法 229

12.2.6声明重写方法 230

12.2.7理解受保护的访问 233

12.3理解扩展方法 239

小结 242

第12章快速参考 243

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

13.1理解接口 245

13.1.1定义接口 246

13.1.2实现接口 246

13.1.3通过接口来引用类 248

13.1.4使用多个接口 248

13.1.5显式实现接口 249

13.1.6接口的限制 251

13.1.7定义和使用接口 251

13.2抽象类 260

13.3密封类 262

13.3.1密封方法 262

13.3.2实现并使用抽象类 263

小结 268

第13章快速参考 269

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

14.1对象的生存期 271

14.1.1编写析构器 272

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

14.1.3垃圾回收器的工作原理 275

14.1.4慎用析构器 275

14.2资源管理 276

14.2.1资源清理方法 276

14.2.2异常安全的资源清理 276

14.2.3 using语句和IDisposable 接口 277

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

14.3实现异常安全的资源清理 281

小结 287

第14章快速参考 288

第Ⅲ部分用C#定义可扩展类型 293

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

15.1使用方法实现封装 293

15.2什么是属性 295

15.2.1使用属性 297

15.2.2只读属性 297

15.2.3只写属性 298

15.2.4属性的可访问性 298

15.3理解属性的局限性 299

15.4在接口中声明属性 300

15.5生成自动属性 305

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

小结 311

第15章快速参考 311

第16章 使用索引器 313

16.1什么是索引器 313

16.1.1不用索引器的例子 313

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

16.1.3理解索引器的访问器 317

16.1.4对比索引器和数组 317

16.2接口中的索引器 320

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

小结 326

第16章快速参考 327

第17章 泛型概述 328

17.1 object的问题 328

17.2泛型解决方案 331

17.2.1对比泛型类与常规类 333

17.2.2泛型和约束 334

17.3创建泛型类 334

17.3.1二叉树理论 334

17.3.2使用泛型构造二叉树类 337

17.4创建泛型方法 345

17.5可变性和泛型接口 348

17.5.1协变接口 350

17.5.2逆变接口 351

小结 353

第17章快速参考 354

第18章 使用集合 355

18.1什么是集合类 355

18.1.1 List<T>集合类 356

18.1.2 LinkedList<T>集合类 358

18.1.3 Queue<T>集合类 360

18.1.4 Stack<T>集合类 361

18.1.5 Dictionary<TKey,TValue>集合类 362

18.1.6 SortedList<TKey, TValue>集合类 363

18.1.7 HashSet<T>集合类 364

18.2使用集合初始化器 366

18.3 Find方法、谓词和Lambda表达式 366

18.4比较数组和集合 368

小结 372

第18章快速参考 373

第19章 枚举集合 375

19.1枚举集合中的元素 375

19.1.1手动实现枚举器 376

19.1.2实现IEnumerable接口 380

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

19.2.1一个简单的迭代器 382

19.2.2使用迭代器为Tree<Tltem>类定义枚举器 384

小结 386

第19章快速参考 386

第20章 分离应用程序逻辑并处理事件 388

20.1理解委托 388

20.1.1 .NET Framework类库的委托例子 389

20.1.2自动化工厂的例子 391

20.1.3不使用委托来实现工厂 391

20.1.4使用委托来实现工厂 392

20.1.5声明和使用委托 394

20.2 Lambda表达式和委托 402

20.2.1创建方法适配器 402

20.2.2 Lambda表达式的形式 403

20.3启用事件通知 404

20.3.1声明事件 405

20.3.2订阅事件 406

20.3.3取消订阅事件 406

20.3.4引发事件 406

20.4理解用户界面事件 407

小结 414

第20章快速参考 415

21章 使用查询表达式来查询内存中的数据 418

21.1什么是语言集成查询 418

21.2在C#应用程序中使用LINQ 419

21.2.1选择数据 420

21.2.2筛选数据 423

21.2.3排序、分组和聚合数据 423

21.2.4联接数据 425

21.2.5使用查询操作符 426

21.2.6查询Tree<TItem>对象中的数据 429

21.2.7 LINQ和推迟求值 434

小结 438

第21章快速参考 438

第22章 操作符重载 440

22.1理解操作符 440

22.1.1操作符的限制 440

22.1.2重载的操作符 441

22.1.3创建对称操作符 442

22.2理解复合赋值 444

22.3声明递增和递减操作符 445

22.4比较结构和类中的操作符 446

22.5定义成对的操作符 447

22.6实现操作符 448

22.7理解转换操作符 453

22.7.1提供内建转换 454

22.7.2实现用户自定义的转换操作符 454

22.7.3再论创建对称操作符 455

22.7.4添加隐式转换操作符 456

小结 458

第22章快速参考 459

第Ⅳ部分 使用C#构建Windows 8专业应用 463

第23章 使用任务提高吞吐量 463

23.1使用并行处理来执行多任务处理 463

多核处理器的崛起 464

23.2用.NET Framework实现多任务处理 465

23.2.1任务、线程和线程池 466

23.2.2创建、运行和控制任务 467

23.2.3使用Task类实现并行处理 469

23.2.4使用Parallel类对任务进行抽象 478

23.2.5什么时候不要使用Parallel类 482

23.3取消任务和处理异常 484

23.3.1协作式取消的原理 484

23.3.2为Canceled和Faulted任务使用延续任务 496

小结 496

第23章快速参考 497

第24章 通过异步操作提高响应速度 499

24.1实现异步方法 500

24.1.1定义异步方法:问题 500

24.1.2定义异步方法:解决方案 502

24.1.3定义返回值的异步方法 507

24.1.4异步方法和Windows RuntimeAPI 508

24.2用PLINQ进行并行数据访问 510

24.2.1用PLINQ增强遍历集合时的性能 511

24.2.2取消PLINQ查询 515

24.3同步对数据的并发访问 515

24.3.1锁定数据 518

24.3.2用于协调任务的同步基元 518

24.3.3取消同步 521

24.3.4并发集合类 521

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

小结 531

第24章快速参考 531

第25章 实现Windows Store应用程序的用户界面 534

25.1什么是Windows Store应用 534

25.2使用空白模板构建Windows Store应用 537

25.2.1实现可伸缩的用户界面 539

25.2.2向用户界面应用样式 565

小结 573

第25章快速参考 573

第26章在Windows Store应用程序中显示和搜索数据 574

26.1实现Model-View-ViewModel模式 574

26.1.1通过数据绑定显示数据 575

26.1.2通过数据绑定修改数据 580

26.1.3为ComboBox控件使用数据绑定 584

26.1.4创建ViewModel 586

26.1.5向ViewModel添加命令 590

26.2 Windows 8合约 600

26.2.1实现搜索合约 600

26.2.2导航至所选项 609

26.2.3从搜索超级按钮启动程序 612

小结 614

第26章快速参考 616

第27章在Windows Store应用程序中访问远程数据库 618

27.1从数据库获取数据 618

27.1.1创建实体模型 620

27.1.2创建和使用数据服务 624

27.2插入、更新和删除数据 635

27.2.1通过WCF Data Service插入、更新和删除 635

27.2.2报告错误和更新UI 644

小结 651

第27章快速参考 652