Visual C#从入门到精通(第8版)

Visual C#从入门到精通(第8版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2016-06
版次: 1
ISBN: 9787302435273
定价: 129.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 672页
字数: 899千字
116人买过
  • C#作为微软的旗舰编程语言,深受程序员喜爱,是编写高效应用程序的首选语言。Visual C# 2015提供了大量新功能,本书围绕语言的基础知识和这些新功能全面介绍了如何利用Visual Studio 2015和.NET Framework 4.6编写C#应用程序。本书沿袭深受读者欢迎的Step by Step风格,通过合理的练习引导读者逐步构建在Windows 10上运行的应用程序、访问SQL Server数据库以及开发多线程应用等。全书共27章,结构清晰,叙述清楚。所有练习均在Visual Studio 2015简体中文版上进行过全面演练。无论是刚开始接触面向对象编程的新手,还是打算迁移到C#的C、C
      或Java程序员,都可以从本书汲取到新的知识。迅速掌握C#编程技术。 作者:John Sharp  资深技术作家,ContentMaster(英国CM集团的分支机构)的首席技术专家。John拥有伦敦帝国理工学院的计算机荣誉学士学位。过去27年,他一直致力于软件开发和培训教程与课程的写作。John拥有丰富的技术资历,精通数据库系统、UNIX、C、C  和C#应用开发。他还开发过Java和JavaScript应用,用Windows Azure设计企业级方案。

    译者:周靖   翻译风格严谨、准确、朴实、流畅,深受读者欢迎。代表译著有《Visual C#从入门到精通》系列版本、《C#本质论》、《CLR via C#》系列版本和Walter Savitch教授的经典教材《C  程序设计》系列版本。 目    录

    第I部分  Visual C#和VisualStudio 2015概述

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

    1.1  开始在VisualStudio 2015环境中

    编程 3

    1.2  写第一个程序 7

    1.3  使用命名空间 11

    1.4  创建图形应用程序 14

    1.4.1  探索通用Windows平台应用

    程序 20

    1.4.2  向图形应用程序添加代码 23

    小结 25

    第1章快速参考 25

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

    2.1  理解语句 27

    2.2  使用标识符 27

    2.3  使用变量 29

    2.3.1  命名变量 29

    2.3.2  声明变量 29

    2.4  使用基元数据类型 30

    2.4.1  未赋值的局部变量31

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

    2.5  使用算术操作符 36

    2.5.1  操作符和类型 36

    2.5.2  深入了解算术操作符38

    2.5.3  控制优先级 42

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

    求值 43

    2.5.5  结合性和赋值操作符43

    2.6  变量递增和递减 44

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

    小结 46

    第2章快速参考 47

    第3章  方法和作用域 48

    3.1  创建方法 48

    3.1.1  声明方法 48

    3.1.2  从方法返回数据 49

    3.1.3  使用表达式主体方法50

    3.1.4  调用方法 51

    3.2  使用作用域 53

    3.2.1  定义局部作用域 54

    3.2.2  定义类作用域 54

    3.2.3  重载方法 55

    3.3  编写方法 56

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

    3.4.1  定义可选参数 64

    3.4.2  传递具名参数 64

    3.4.3  消除可选参数和具名参数的

    歧义 65

    小结 69

    第3章快速参考 70

    第4章  使用判断语句 72

    4.1  声明布尔变量 72

    4.2  使用布尔操作符 72

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

    4.2.2  理解条件逻辑操作符73

    4.2.3  短路求值 74

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

    总结 74

    4.3  使用if语句做出判断 75

    4.3.1  理解if语句的语法 75

    4.3.2  使用代码块分组语句76

    4.3.3  嵌套if语句 77

    4.4  使用switch语句 82

    4.4.1  理解switch语句的语法 83

    4.4.2  遵守switch语句的规则 84

    小结 87

    第4章快速参考 87

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

    5.1  使用复合赋值操作符 89

    5.2  使用while语句 90

    5.3  编写for语句 94

    5.4  编写do语句 96

    小结 103

    第5章快速参考 104

    第6章  管理错误和异常 105

    6.1  处理错误 105

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

    6.2.1  未处理的异常 107

    6.2.2  使用多个catch处理程序 108

    6.2.3  捕捉多个异常 108

    6.2.4  传播异常 113

    6.3  使用checked和unchecked整数

    运算 115

    6.3.1  编写checked语句 115

    6.3.2  编写checked表达式 116

    6.4  抛出异常 118

    6.5  使用finally块 122

    小结 123

    第6章快速参考 124

    第II部分  理解C#对象模型

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

    7.1  理解分类 127

    7.2  封装的目的 127

    7.3  定义并使用类 128

    7.4  控制可访问性 129

    7.4.1  使用构造器 130

    7.4.2  重载构造器 131

    7.5  理解静态方法和数据138

    7.5.1  创建共享字段 139

    7.5.2  使用const关键字创建静态

    字段 140

    7.5.3  理解静态类 140

    7.5.4  静态using语句 140

    7.5.5  匿名类 143

    小结 144

    第7章快速参考 144

    第8章  理解值和引用 146

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

    8.2  理解null值和可空类型 151

    8.2.1  使用可空类型 153

    8.2.2  理解可空类型的属性154

    8.3  使用ref和out参数 154

    8.3.1  创建ref参数 155

    8.3.2  创建out参数 156

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

    8.5  System.Object类 160

    8.6  装箱 160

    8.7  拆箱 161

    8.8  数据的安全转型 162

    8.8.1  is操作符 163

    8.8.2  as操作符 163

    小结 165

    第8章快速参考 165

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

    9.1  使用枚举 167

    9.1.1  声明枚举 167

    9.1.2  使用枚举 167

    9.1.3  选择枚举字面值168

    9.1.4  选择枚举的基础类型169

    9.2  使用结构 171

    9.2.1  声明结构 173

    9.2.2  理解结构和类的区别174

    9.2.3  声明结构变量 175

    9.2.4  理解结构的初始化175

    9.2.5  复制结构变量 179

    小结 183

    第9章快速参考 183

    第10章  使用数组 185

    10.1  声明和创建数组 185

    10.1.1  声明数组变量185

    10.1.2  创建数组实例186

    10.1.3  填充和使用数组186

    10.1.4  创建隐式类型的数组187

    10.1.5  访问单独的数组元素188

    10.1.6  遍历数组 189

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

     传递 190

    10.1.8  复制数组 191

    10.1.9  使用多维数组192

    10.1.10  创建交错数组193

    小结 202

    第10章快速参考 202

    第11章  理解参数数组 204

    11.1  回顾重载 204

    11.2  使用数组参数 205

    11.2.1  声明参数数组206

    11.2.2  使用paramsobject[] 208

    11.2.3  使用参数数组209

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

    小结 213

    第11章快速参考 214

    第12章  使用继承 215

    12.1  什么是继承 215

    12.2  使用继承 216

    12.2.1  复习System.Object类 217

    12.2.2  调用基类构造器218

    12.2.3  类的赋值 219

    12.2.4  声明新方法 220

    12.2.5  声明虚方法 221

    12.2.6  声明重写方法222

    12.2.7  理解受保护的访问225

    12.3  理解扩展方法 230

    小结 234

    第12章快速参考 234

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

    13.1  理解接口 236

    13.1.1  定义接口 237

    13.1.2  实现接口 237

    13.1.3  通过接口来引用类239

    13.1.4  使用多个接口239

    13.1.5  显式实现接口240

    13.1.6  接口的限制 242

    13.1.7  定义和使用接口242

    13.2  抽象类 250

    13.3  密封类 252

    13.3.1  密封方法 252

    13.3.2  实现并使用抽象类253

    小结 258

    第13章快速参考 259

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

    14.1  对象的生存期 260

    14.1.1  编写析构器 261

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

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

    14.1.4  慎用析构器 264

    14.2  资源管理 265

    14.2.1  资源清理方法265

    14.2.2  异常安全的资源清理266

    14.2.3  using语句和IDisposable

     接口 266

    14.2.4  从析构器中调用Dispose

     方法 268

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

    小结 276

    第14章快速参考 277

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

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

    15.1  使用方法实现封装281

    15.2  什么是属性 283

    15.2.1  使用属性 285

    15.2.2  只读属性 285

    15.2.3  只写属性 286

    15.2.4  属性的可访问性286

    15.3  理解属性的局限性287

    15.4  在接口中声明属性288

    15.5  生成自动属性 294

    15.6  用属性初始化对象296

    小结 299

    第15章快速参考 300

    第16章  使用索引器 302

    16.1  什么是索引器 302

    16.1.1  不用索引器的例子302

    16.1.2  同一个例子改用索引器 304

    16.1.3  理解索引器的访问器306

    16.1.4  对比索引器和数组306

    16.2  接口中的索引器 308

    16.3  在Windows应用程序中使用

     索引器 309

    小结 315

    第16章快速参考 315

    第17章  泛型概述 317

    17.1  object的问题317

    17.2  泛型解决方案 320

    17.2.1  对比泛型类和常规类322

    17.2.2  泛型和约束 323

    17.3  创建泛型类 323

    17.3.1  二叉树理论 323

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

    17.4  创建泛型方法 334

    17.5  可变性和泛型接口337

    17.5.1  协变接口 338

    17.5.2  逆变接口 340

    小结 342

    第17章快速参考 342

    第18章  使用集合 344

    18.1  什么是集合类 344

    18.1.1  List集合类 345

    18.1.2  LinkedList集合类 347

    18.1.3  Queue集合类 349

    18.1.4  Stack集合类 350

    18.1.5  Dictionary

     集合类 351

    18.1.6  SortedList

     集合类 352

    18.1.7  HashSet集合类 353

    18.2  使用集合初始化器355

    18.3  Find方法、谓词和Lambda

     表达式 356

    18.4  比较数组和集合 359

    小结 363

    第18章快速参考 363

    第19章  枚举集合 366

    19.1  枚举集合中的元素366

    19.1.1  手动实现枚举器367

    19.1.2  实现IEnumerable接口 371

    19.2  用迭代器实现枚举器373

    19.2.1  一个简单的迭代器373

    19.2.2  使用迭代器为Tree类

     定义枚举器 375

    小结 377

    第19章快速参考 378

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

     事件 379

    20.1  理解委托 379

    20.1.1  .NET Framework类库的委托

     例子 380

    20.1.2  自动化工厂的例子382

    20.1.3  不用委托实现工厂控制

     系统 382

    20.1.4  用委托实现工厂控制

     系统 383

    20.1.5  声明和使用委托385

    20.2  Lambda表达式和委托 392

    20.3  启用事件通知 393

    20.3.1  声明事件 394

    20.3.2  订阅事件 395

    20.3.3  取消订阅事件395

    20.3.4  引发事件 395

    20.4  理解用户界面事件396

    小结 403

    第20章快速参考 403

    第21章  使用查询表达式来查询内存

     中的数据 406

    21.1  什么是LINQ 406

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

    21.2.1  选择数据 408

    21.2.2  筛选数据 411

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

    21.2.4  联接数据 413

    21.2.5  使用查询操作符415

    21.2.6  查询Tree对象中的

     数据 417

    21.2.7  LINQ和推迟求值422

    小结 425

    第21章快速参考 425

    第22章  操作符重载 428

    22.1  理解操作符 428

    22.1.1  操作符的限制428

    22.1.2  重载的操作符429

    22.1.3  创建对称操作符430

    22.2  理解复合赋值 432

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

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

    22.5  定义成对的操作符434

    22.6  实现操作符 435

    22.7  理解转换操作符 441

    22.7.1  提供内建转换441

    22.7.2  实现用户自定义的转换

     操作符 442

    22.7.3  再论创建对称操作符443

    22.7.4  添加隐式转换操作符444

    小结 446

    第22章快速参考 446

    第IV部分  用C#构建UWP应用

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

    23.1  使用并行处理执行多任务处理 451

    23.2  用.NET Framework实现多任务

     处理 452

    23.2.1  任务、线程和线程池453

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

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

    23.2.4  使用Parallel类对任务进行

     抽象 467

    23.2.5  什么时候不要使用

     Parallel类 471

    23.3  取消任务和处理异常473

    23.3.1  协作式取消的原理473

    23.3.2  为Canceled和Faulted任务

     使用延续 485

    小结 485

    第23章快速参考 486

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

    24.1  实现异步方法 490

    24.1.1  定义异步方法:问题490

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

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

    24.1.4  异步方法注意事项498

    24.1.5  异步方法和Windows

     Runtime API 499

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

    24.2.1  用PLINQ增强遍历集合时的

     性能 502

    24.2.2  取消PLINQ查询 506

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

    24.3.1  锁定数据 509

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

    24.3.3  取消同步 512

    24.3.4  并发集合类 512

    24.3.5  使用并发集合和锁实现线程

     安全的数据访问 513

    小结 522

    第24章快速参考 522

    第25章  实现UWP应用的用户界面 525

    25.1  UWP应用的特点526

    25.2  使用空白模板构建UWP应用 528

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

    25.2.2  向用户界面应用样式556

    小结 565

    第25章快速参考 566

    第26章  在UWP应用中显示和搜索

     数据 567

    26.1  实现Model-View-ViewModel

     模式 567

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

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

    26.1.3  为ComboBox控件使用数据

     绑定 577

    26.1.4  创建ViewModel579

    26.1.5  向ViewModel添加命令 583

    26.2  用Cortana搜索数据 592

    小结 606

    第26章快速参考 606

    第27章  在UWP应用中访问远程

     数据库 608

    27.1  从数据库获取数据608

    27.1.1  创建实体模型613

    27.1.2  创建和使用RESTWeb

     服务 620

    27.2  通过REST Web服务插入、更新

     和删除数据 634

    小结 651

    第27章快速参考 651

    译者后记 653
  • 内容简介:
    C#作为微软的旗舰编程语言,深受程序员喜爱,是编写高效应用程序的首选语言。Visual C# 2015提供了大量新功能,本书围绕语言的基础知识和这些新功能全面介绍了如何利用Visual Studio 2015和.NET Framework 4.6编写C#应用程序。本书沿袭深受读者欢迎的Step by Step风格,通过合理的练习引导读者逐步构建在Windows 10上运行的应用程序、访问SQL Server数据库以及开发多线程应用等。全书共27章,结构清晰,叙述清楚。所有练习均在Visual Studio 2015简体中文版上进行过全面演练。无论是刚开始接触面向对象编程的新手,还是打算迁移到C#的C、C
      或Java程序员,都可以从本书汲取到新的知识。迅速掌握C#编程技术。
  • 作者简介:
    作者:John Sharp  资深技术作家,ContentMaster(英国CM集团的分支机构)的首席技术专家。John拥有伦敦帝国理工学院的计算机荣誉学士学位。过去27年,他一直致力于软件开发和培训教程与课程的写作。John拥有丰富的技术资历,精通数据库系统、UNIX、C、C  和C#应用开发。他还开发过Java和JavaScript应用,用Windows Azure设计企业级方案。

    译者:周靖   翻译风格严谨、准确、朴实、流畅,深受读者欢迎。代表译著有《Visual C#从入门到精通》系列版本、《C#本质论》、《CLR via C#》系列版本和Walter Savitch教授的经典教材《C  程序设计》系列版本。
  • 目录:
    目    录

    第I部分  Visual C#和VisualStudio 2015概述

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

    1.1  开始在VisualStudio 2015环境中

    编程 3

    1.2  写第一个程序 7

    1.3  使用命名空间 11

    1.4  创建图形应用程序 14

    1.4.1  探索通用Windows平台应用

    程序 20

    1.4.2  向图形应用程序添加代码 23

    小结 25

    第1章快速参考 25

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

    2.1  理解语句 27

    2.2  使用标识符 27

    2.3  使用变量 29

    2.3.1  命名变量 29

    2.3.2  声明变量 29

    2.4  使用基元数据类型 30

    2.4.1  未赋值的局部变量31

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

    2.5  使用算术操作符 36

    2.5.1  操作符和类型 36

    2.5.2  深入了解算术操作符38

    2.5.3  控制优先级 42

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

    求值 43

    2.5.5  结合性和赋值操作符43

    2.6  变量递增和递减 44

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

    小结 46

    第2章快速参考 47

    第3章  方法和作用域 48

    3.1  创建方法 48

    3.1.1  声明方法 48

    3.1.2  从方法返回数据 49

    3.1.3  使用表达式主体方法50

    3.1.4  调用方法 51

    3.2  使用作用域 53

    3.2.1  定义局部作用域 54

    3.2.2  定义类作用域 54

    3.2.3  重载方法 55

    3.3  编写方法 56

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

    3.4.1  定义可选参数 64

    3.4.2  传递具名参数 64

    3.4.3  消除可选参数和具名参数的

    歧义 65

    小结 69

    第3章快速参考 70

    第4章  使用判断语句 72

    4.1  声明布尔变量 72

    4.2  使用布尔操作符 72

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

    4.2.2  理解条件逻辑操作符73

    4.2.3  短路求值 74

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

    总结 74

    4.3  使用if语句做出判断 75

    4.3.1  理解if语句的语法 75

    4.3.2  使用代码块分组语句76

    4.3.3  嵌套if语句 77

    4.4  使用switch语句 82

    4.4.1  理解switch语句的语法 83

    4.4.2  遵守switch语句的规则 84

    小结 87

    第4章快速参考 87

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

    5.1  使用复合赋值操作符 89

    5.2  使用while语句 90

    5.3  编写for语句 94

    5.4  编写do语句 96

    小结 103

    第5章快速参考 104

    第6章  管理错误和异常 105

    6.1  处理错误 105

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

    6.2.1  未处理的异常 107

    6.2.2  使用多个catch处理程序 108

    6.2.3  捕捉多个异常 108

    6.2.4  传播异常 113

    6.3  使用checked和unchecked整数

    运算 115

    6.3.1  编写checked语句 115

    6.3.2  编写checked表达式 116

    6.4  抛出异常 118

    6.5  使用finally块 122

    小结 123

    第6章快速参考 124

    第II部分  理解C#对象模型

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

    7.1  理解分类 127

    7.2  封装的目的 127

    7.3  定义并使用类 128

    7.4  控制可访问性 129

    7.4.1  使用构造器 130

    7.4.2  重载构造器 131

    7.5  理解静态方法和数据138

    7.5.1  创建共享字段 139

    7.5.2  使用const关键字创建静态

    字段 140

    7.5.3  理解静态类 140

    7.5.4  静态using语句 140

    7.5.5  匿名类 143

    小结 144

    第7章快速参考 144

    第8章  理解值和引用 146

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

    8.2  理解null值和可空类型 151

    8.2.1  使用可空类型 153

    8.2.2  理解可空类型的属性154

    8.3  使用ref和out参数 154

    8.3.1  创建ref参数 155

    8.3.2  创建out参数 156

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

    8.5  System.Object类 160

    8.6  装箱 160

    8.7  拆箱 161

    8.8  数据的安全转型 162

    8.8.1  is操作符 163

    8.8.2  as操作符 163

    小结 165

    第8章快速参考 165

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

    9.1  使用枚举 167

    9.1.1  声明枚举 167

    9.1.2  使用枚举 167

    9.1.3  选择枚举字面值168

    9.1.4  选择枚举的基础类型169

    9.2  使用结构 171

    9.2.1  声明结构 173

    9.2.2  理解结构和类的区别174

    9.2.3  声明结构变量 175

    9.2.4  理解结构的初始化175

    9.2.5  复制结构变量 179

    小结 183

    第9章快速参考 183

    第10章  使用数组 185

    10.1  声明和创建数组 185

    10.1.1  声明数组变量185

    10.1.2  创建数组实例186

    10.1.3  填充和使用数组186

    10.1.4  创建隐式类型的数组187

    10.1.5  访问单独的数组元素188

    10.1.6  遍历数组 189

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

     传递 190

    10.1.8  复制数组 191

    10.1.9  使用多维数组192

    10.1.10  创建交错数组193

    小结 202

    第10章快速参考 202

    第11章  理解参数数组 204

    11.1  回顾重载 204

    11.2  使用数组参数 205

    11.2.1  声明参数数组206

    11.2.2  使用paramsobject[] 208

    11.2.3  使用参数数组209

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

    小结 213

    第11章快速参考 214

    第12章  使用继承 215

    12.1  什么是继承 215

    12.2  使用继承 216

    12.2.1  复习System.Object类 217

    12.2.2  调用基类构造器218

    12.2.3  类的赋值 219

    12.2.4  声明新方法 220

    12.2.5  声明虚方法 221

    12.2.6  声明重写方法222

    12.2.7  理解受保护的访问225

    12.3  理解扩展方法 230

    小结 234

    第12章快速参考 234

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

    13.1  理解接口 236

    13.1.1  定义接口 237

    13.1.2  实现接口 237

    13.1.3  通过接口来引用类239

    13.1.4  使用多个接口239

    13.1.5  显式实现接口240

    13.1.6  接口的限制 242

    13.1.7  定义和使用接口242

    13.2  抽象类 250

    13.3  密封类 252

    13.3.1  密封方法 252

    13.3.2  实现并使用抽象类253

    小结 258

    第13章快速参考 259

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

    14.1  对象的生存期 260

    14.1.1  编写析构器 261

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

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

    14.1.4  慎用析构器 264

    14.2  资源管理 265

    14.2.1  资源清理方法265

    14.2.2  异常安全的资源清理266

    14.2.3  using语句和IDisposable

     接口 266

    14.2.4  从析构器中调用Dispose

     方法 268

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

    小结 276

    第14章快速参考 277

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

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

    15.1  使用方法实现封装281

    15.2  什么是属性 283

    15.2.1  使用属性 285

    15.2.2  只读属性 285

    15.2.3  只写属性 286

    15.2.4  属性的可访问性286

    15.3  理解属性的局限性287

    15.4  在接口中声明属性288

    15.5  生成自动属性 294

    15.6  用属性初始化对象296

    小结 299

    第15章快速参考 300

    第16章  使用索引器 302

    16.1  什么是索引器 302

    16.1.1  不用索引器的例子302

    16.1.2  同一个例子改用索引器 304

    16.1.3  理解索引器的访问器306

    16.1.4  对比索引器和数组306

    16.2  接口中的索引器 308

    16.3  在Windows应用程序中使用

     索引器 309

    小结 315

    第16章快速参考 315

    第17章  泛型概述 317

    17.1  object的问题317

    17.2  泛型解决方案 320

    17.2.1  对比泛型类和常规类322

    17.2.2  泛型和约束 323

    17.3  创建泛型类 323

    17.3.1  二叉树理论 323

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

    17.4  创建泛型方法 334

    17.5  可变性和泛型接口337

    17.5.1  协变接口 338

    17.5.2  逆变接口 340

    小结 342

    第17章快速参考 342

    第18章  使用集合 344

    18.1  什么是集合类 344

    18.1.1  List集合类 345

    18.1.2  LinkedList集合类 347

    18.1.3  Queue集合类 349

    18.1.4  Stack集合类 350

    18.1.5  Dictionary

     集合类 351

    18.1.6  SortedList

     集合类 352

    18.1.7  HashSet集合类 353

    18.2  使用集合初始化器355

    18.3  Find方法、谓词和Lambda

     表达式 356

    18.4  比较数组和集合 359

    小结 363

    第18章快速参考 363

    第19章  枚举集合 366

    19.1  枚举集合中的元素366

    19.1.1  手动实现枚举器367

    19.1.2  实现IEnumerable接口 371

    19.2  用迭代器实现枚举器373

    19.2.1  一个简单的迭代器373

    19.2.2  使用迭代器为Tree类

     定义枚举器 375

    小结 377

    第19章快速参考 378

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

     事件 379

    20.1  理解委托 379

    20.1.1  .NET Framework类库的委托

     例子 380

    20.1.2  自动化工厂的例子382

    20.1.3  不用委托实现工厂控制

     系统 382

    20.1.4  用委托实现工厂控制

     系统 383

    20.1.5  声明和使用委托385

    20.2  Lambda表达式和委托 392

    20.3  启用事件通知 393

    20.3.1  声明事件 394

    20.3.2  订阅事件 395

    20.3.3  取消订阅事件395

    20.3.4  引发事件 395

    20.4  理解用户界面事件396

    小结 403

    第20章快速参考 403

    第21章  使用查询表达式来查询内存

     中的数据 406

    21.1  什么是LINQ 406

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

    21.2.1  选择数据 408

    21.2.2  筛选数据 411

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

    21.2.4  联接数据 413

    21.2.5  使用查询操作符415

    21.2.6  查询Tree对象中的

     数据 417

    21.2.7  LINQ和推迟求值422

    小结 425

    第21章快速参考 425

    第22章  操作符重载 428

    22.1  理解操作符 428

    22.1.1  操作符的限制428

    22.1.2  重载的操作符429

    22.1.3  创建对称操作符430

    22.2  理解复合赋值 432

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

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

    22.5  定义成对的操作符434

    22.6  实现操作符 435

    22.7  理解转换操作符 441

    22.7.1  提供内建转换441

    22.7.2  实现用户自定义的转换

     操作符 442

    22.7.3  再论创建对称操作符443

    22.7.4  添加隐式转换操作符444

    小结 446

    第22章快速参考 446

    第IV部分  用C#构建UWP应用

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

    23.1  使用并行处理执行多任务处理 451

    23.2  用.NET Framework实现多任务

     处理 452

    23.2.1  任务、线程和线程池453

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

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

    23.2.4  使用Parallel类对任务进行

     抽象 467

    23.2.5  什么时候不要使用

     Parallel类 471

    23.3  取消任务和处理异常473

    23.3.1  协作式取消的原理473

    23.3.2  为Canceled和Faulted任务

     使用延续 485

    小结 485

    第23章快速参考 486

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

    24.1  实现异步方法 490

    24.1.1  定义异步方法:问题490

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

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

    24.1.4  异步方法注意事项498

    24.1.5  异步方法和Windows

     Runtime API 499

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

    24.2.1  用PLINQ增强遍历集合时的

     性能 502

    24.2.2  取消PLINQ查询 506

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

    24.3.1  锁定数据 509

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

    24.3.3  取消同步 512

    24.3.4  并发集合类 512

    24.3.5  使用并发集合和锁实现线程

     安全的数据访问 513

    小结 522

    第24章快速参考 522

    第25章  实现UWP应用的用户界面 525

    25.1  UWP应用的特点526

    25.2  使用空白模板构建UWP应用 528

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

    25.2.2  向用户界面应用样式556

    小结 565

    第25章快速参考 566

    第26章  在UWP应用中显示和搜索

     数据 567

    26.1  实现Model-View-ViewModel

     模式 567

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

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

    26.1.3  为ComboBox控件使用数据

     绑定 577

    26.1.4  创建ViewModel579

    26.1.5  向ViewModel添加命令 583

    26.2  用Cortana搜索数据 592

    小结 606

    第26章快速参考 606

    第27章  在UWP应用中访问远程

     数据库 608

    27.1  从数据库获取数据608

    27.1.1  创建实体模型613

    27.1.2  创建和使用RESTWeb

     服务 620

    27.2  通过REST Web服务插入、更新

     和删除数据 634

    小结 651

    第27章快速参考 651

    译者后记 653
查看详情
12
相关图书 / 更多
您可能感兴趣 / 更多
Visual C#从入门到精通(第8版)
牛津世界教育史手册
JohnL.Rury约翰L鲁里EileenH.Tamura艾琳H田村 著
Visual C#从入门到精通(第8版)
The Computer and the Brain 计算机与人脑
John von Neumann约翰·冯
Visual C#从入门到精通(第8版)
言语行为:语言哲学论(语言学及应用语言学名著译丛)
John R. Searle
Visual C#从入门到精通(第8版)
用药过度的美国
John Abramson
Visual C#从入门到精通(第8版)
感觉与可感物(陈嘉映著译作品集第17卷)
John Langshaw Austin
Visual C#从入门到精通(第8版)
卷绕: 拓扑、几何和分析中的卷绕数(影印版)
John Roe
Visual C#从入门到精通(第8版)
信息论和中心极限定理 香农信息科学经典
Johnson 著;Oliver
Visual C#从入门到精通(第8版)
觉醒领导力
John Mackey;Steve Macintosh;Ca
Visual C#从入门到精通(第8版)
数学及其历史(第三版)
John Stillwell 著;袁向东
Visual C#从入门到精通(第8版)
复分析中的不等式(影印版)
John P. DAngelo
Visual C#从入门到精通(第8版)
中国鸟类野外手册(马敬能新编版)(上下册)
John MacKinnon
Visual C#从入门到精通(第8版)
语义学(第四版)(当代国外语言学与应用语言学文库)(升级版)
John I. Saeed