---------------------------C# 7.0本质论---------------------------
译者序 推荐序 前言 致谢 作者简介 第1章 C#概述 / 1 1.1 Hello, World / 1 1.2 C#语法基础 / 8 1.3 使用变量 / 14 1.4 控制台输入和输出 / 17 1.5 注释 / 20 1.6 托管执行和CLI / 22 1.7 多个.NET框架 / 26 1.8 小结 / 28 第2章 数据类型 / 29 2.1 基本数值类型 / 29 2.2 更多基本类型 / 36 2.3 null和void / 46 2.4 数据类型转换 / 47 2.5 小结 / 52 第3章 更多数据类型 / 53 3.1 类型的划分 / 53 3.2 可空修饰符 / 55 3.3 元组 / 57 3.4 数组 / 62 3.5 小结 / 74 第4章 操作符和控制流程 / 75 4.1 操作符 / 75 4.2 控制流程概述 / 87 4.3 代码块({}) / 91 4.4 代码块、作用域和声明空间 / 93 4.5 布尔表达式 / 94 4.6 按位操作符(>,|,&,^,~) / 101 4.7 控制流程语句(续) / 106 4.8 跳转语句 / 115 4.9 C#预处理器指令 / 119 4.10 小结 / 124 第5章 方法和参数 / 126 5.1 方法的调用 / 127 5.2 方法的声明 / 131 5.3 using指令 / 135 5.4 Main()的返回值和参数 / 139 5.5 高级方法参数 / 141 5.6 递归 / 149 5.7 方法重载 / 152 5.8 可选参数 / 154 5.9 用异常实现基本错误处理 / 157 5.10 小结 / 168 第6章 类 / 169 6.1 类的声明和实例化 / 172 6.2 实例字段 / 174 6.3 实例方法 / 176 6.4 使用this关键字 / 177 6.5 访问修饰符 / 183 6.6 属性 / 184 6.7 构造函数 / 197 6.8 静态成员 / 205 6.9 扩展方法 / 213 6.10 封装数据 / 214 6.11 嵌套类 / 216 6.12 分部类 / 218 6.13 小结 / 222 第7章 继承 / 223 7.1 派生 / 224 7.2 重写基类 / 232 7.3 抽象类 / 242 7.4 所有类都从System.Object派生 / 246 7.5 使用is操作符验证基础类型 / 247 7.6 用is操作符进行模式匹配 / 248 7.7 switch语句中的模式匹配 / 248 7.8 使用as操作符进行转换 / 250 7.9 小结 / 251 第8章 接口 / 252 8.1 接口概述 / 253 8.2 通过接口实现多态性 / 254 8.3 接口实现 / 258 8.4 在实现类和接口之间转换 / 262 8.5 接口继承 / 263 8.6 多接口继承 / 265 8.7 接口上的扩展方法 / 265 8.8 通过接口实现多继承 / 266 8.9 版本控制 / 269 8.10 比较接口和类 / 270 8.11 比较接口和特性 / 271 8.12 小结 / 271 第9章 值类型 / 272 9.1 结构 / 275 9.2 装箱 / 279 9.3 枚举 / 285 9.4 小结 / 293 第10章 合式类型 / 295 10.1 重写object的成员 / 295 10.2 操作符重载 / 305 10.3 引用其他程序集 / 311 10.4 定义命名空间 / 318 10.5 XML注释 / 320 10.6 垃圾回收 / 323 10.7 资源清理 / 325 10.8 推迟初始化 / 332 10.9 小结 / 333 第11章 异常处理 / 334 11.1 多异常类型 / 334 11.2 捕捉异常 / 336 11.3 常规catch块 / 339 11.4 异常处理规范 / 341 11.5 自定义异常 / 343 11.6 重新抛出包装的异常 / 346 11.7 小结 / 349 第12章 泛型 / 350 12.1 如果C#没有泛型 / 350 12.2 泛型类型概述 / 355 12.3 约束 / 364 12.4 泛型方法 / 374 12.5 协变性和逆变性 / 377 12.6 泛型的内部机制 / 382 12.7 小结 / 385 第13章 委托和Lambda表达式 / 386 13.1 委托概述 / 387 13.2 声明委托类型 / 390 13.3 Lambda表达式 / 396 13.4 匿名方法 / 401 13.5 小结 / 413 第14章 事件 / 414 14.1 使用多播委托编码Publish-Subscribe模式 / 415 14.2 理解事件 / 426 14.3 小结 / 435 第15章 支持标准查询操作符的集合接口 / 436 15.1 集合初始化器 / 437 15.2 IEnumerable使类成为集合 / 439 15.3 标准查询操作符 / 444 15.4 匿名类型之于LINQ / 470 15.5 小结 / 477 第16章 使用查询表达式的LINQ / 478 16.1 查询表达式概述 / 478 16.2 查询表达式只是方法调用 / 493 16.3 小结 / 494 第17章 构建自定义集合 / 496 17.1 更多集合接口 / 497 17.2 主要集合类 / 498 17.3 提供索引器 / 512 17.4 返回null或者空集合 / 515 17.5 迭代器 / 515 17.6 小结 / 527 第18章 反射、特性和动态编程 / 528 18.1 反射 / 528 18.2 特性 / 539 18.3 使用动态对象进行编程 / 557 18.4 小结 / 565 第19章 多线程处理 / 566 19.1 多线程处理基础 / 568 19.2 使用System.Threading / 572 19.3 异步任务 / 577 19.4 取消任务 / 591 19.5 基于任务的异步模式 / 596 19.6 并行迭代 / 618 19.7 并行执行LINQ查询 / 626 19.8 小结 / 630 第20章 线程同步 / 631 20.1 线程同步的意义 / 632 20.2 计时器 / 653 20.3 小结 / 655 第21章 平台互操作性和不安全代码 / 656 21.1 平台调用 / 657 21.2 指针和地址 / 667 21.3 通过委托执行不安全代码 / 674 21.4 小结 / 676 第22章 公共语言基础结构 / 677 22.1 CLI的定义 / 677 22.2 CLI的实现 / 678 22.3 .NET Standard / 680 22.4 BCL / 681 22.5 将C#编译成机器码 / 681 22.6 运行时 / 682 22.7 程序集、清单和模块 / 685 22.8 公共中间语言 / 687 22.9 公共类型系统 / 687 22.10 公共语言规范 / 688 22.11 元数据 / 688 22.12 .NET Native和AOT编译 / 689 22.13 小结 / 689
---------------------------C# 7.0本质论(英文版)[图书]---------------------------
第1章 C#概述1 1.1 Hello, World2 1.2 C#语法基础11 1.3 使用变量20 1.4 控制台输入和输出24 1.5 注释28 1.6 托管执行和CLI32 1.7 多个.NET框架37 第2章 数据类型43 2.1 基本数值类型44 2.2 更多基本类型53 2.3 null和void67 2.4 数据类型转换69 第3章 更多数据类型77 3.1 类型的划分77 3.2 可空修饰符80 3.3 元组83 3.4 数组90 第4章 操作符和控制流程109 4.1 操作符110 4.2 控制流程概述126 4.3 代码块132 4.4 代码块、作用域和声明空间135 4.5 布尔表达式137 4.6 按位操作符147 4.7 控制流程语句(续)153 4.8 跳转语句165 4.9 C#预处理器指令171 第5章 方法和参数181 5.1 调用方法182 5.2 声明方法189 5.3 using指令... |