-
内容大纲
本书基于管理复杂性的宗旨来组织内容。第1~5章介绍结构化编程,学习这些内容后,可以立即开始写一些功能简单的代码。第6~10章介绍C#的面向对象构造,新手应在完全理解这几章的内容之后,再开始接触本书其余部分更高级的主题。第12~14章介绍更多用于降低复杂性的构造,讲解当今几乎所有程序都要用到的通用设计模式。理解了它们之后,才可以更轻松地理解如何通过反射和特性来进行动态编程。第15~23章将广泛运用它们来实现线程处理和互操作性。本书最后专门用一章(第24章)讲解CLI。这一章在开发平台的背景下对C#语言进行了描述。
本书全面讲述C#语言。对于初学者而言,其内容已远远超过了一本简单的教程,可为读者未来进行高效率软件开发打下坚实基础;对于已熟悉C#的读者,本书探讨了一些较为复杂的编程思想,并深入讨论了语言较新版本(C# 8.0和.NET Framework 4.8/.NET Core 3.1)的新功能;对于已经精通这门语言的读者,也可以始终将其作为案头参考。 -
作者介绍
马克·米凯利斯(Mark Michaelis)是IntelliTect的创办者,并任该公司首席技术架构师和培训师。近二十年来,他一直是微软的MVP,2007年被评为微软技术代言人(Microsoft RegionalDirector)。他还服务于几个微软软件设计评审团队,包括C#、SharePoint和VisualStudio ALM。他经常在开发者大会上做演讲,并撰写过大量文章和书籍。 -
目录
译者序
序言
前言
致谢
作者简介
第1章 C# 概述
1.1 Hello, World
1.2 C#语法基础
1.3 使用变量
1.4 控制台输入和输出
1.5 托管执行和CLI
1.6 多个.NET框架
1.7 小结
第2章 数据类型
2.1 基本数值类型
2.2 更多基本类型
2.3 数据类型转换
2.4 小结
第3章 更多数据类型
3.1 类型的划分
3.2 将变量声明为可空
3.3 隐式类型的局部变量
3.4 元组
3.5 数组
3.6 小结
第4章 操作符和控制流程
4.1 操作符
4.2 控制流程概述
4.3 代码块
4.4 代码块、作用域和声明空间
4.5 布尔表达式
4.6 关于null的编程
4.7 按位操作符
4.8 控制流程语句
4.9 跳转语句
4.10 C#预处理器指令
4.11 小结
第5章 方法和参数
5.1 方法的调用
5.2 方法的声明
5.3 using指令
5.4 Main()的返回值和参数
5.5 高级方法参数
5.6 递归
5.7 方法重载
5.8 可选参数
5.9 用异常实现基本错误处理
5.10 小结
第6章 类
6.1 类的声明和实例化
6.2 实例字段
6.3 实例方法
6.4 使用this关键字
6.5 访问修饰符
6.6 属性
6.7 构造函数
6.8 不可空引用类型属性与构造函数
6.9 可空特性
6.10 解构函数
6.11 静态成员
6.12 扩展方法
6.13 封装数据
6.14 嵌套类
6.15 分部类
6.16 小结
第7章 继承
7.1 派生
7.2 重写基类
7.3 抽象类
7.4 所有类都从System.Object派生
7.5 用is操作符进行模式匹配
7.6 switch语句中的模式匹配
7.7 避免对多态类对象使用模式匹配
7.8 小结
第8章 接口
8.1 接口概述
8.2 通过接口实现多态性
8.3 接口实现
8.4 在实现类和接口之间转换
8.5 接口继承
8.6 多接口继承
8.7 接口上的扩展方法
8.8 版本升级
8.9 扩展方法与默认接口成员
8.10 比较接口和抽象类
8.11 比较接口和特性
8.12 小结
第9章 值类型
9.1 结构
9.2 装箱
9.3 枚举
9.4 小结
第10章 合式类型
10.1 重写object的成员
10.2 操作符重载
10.3 引用其他程序集
10.4 类型封装
10.5 定义命名空间
10.6 XML注释
10.7 垃圾回收
10.8 资源清理
10.9 推迟初始化
10.10 小结
第11章 异常处理
11.1 多异常类型
11.2 捕捉异常
11.3 重新抛出现有异常
11.4 常规catch块
11.5 异常处理规范
11.6 自定义异常
11.7 重新抛出包装的异常
11.8 小结
第12章 泛型
12.1 如果C#没有泛型
12.2 泛型类型概述
12.3 约束
12.4 泛型方法
12.5 协变性和逆变性
12.6 泛型的内部机制
12.7 小结
第13章 委托和Lambda表达式
13.1 委托概述
13.2 声明委托类型
13.3 Lambda表达式
13.4 匿名方法
13.5 委托没有结构相等性
13.6 外部变量
13.7 表达式树
13.8 小结
第14章 事件
14.1 使用多播委托实现Publish-Subscribe模式
14.2 理解事件
14.3 小结
第15章 支持标准查询操作符的集合接口
15.1 集合初始化器
15.2 IEnumerable使类成为集合
15.3 标准查询操作符
15.4 匿名类型之于LINQ
15.5 小结
第16章 使用查询表达式的LINQ
16.1 查询表达式概述
16.2 查询表达式只是方法调用
16.3 小结
第17章 构建自定义集合
17.1 更多集合接口
17.2 主要集合类
17.3 提供索引器
17.4 返回null或者空集合
17.5 迭代器
17.6 小结
第18章 反射、特性和动态编程
18.1 反射
18.2 nameof操作符
18.3 特性
18.4 使用动态对象进行编程
18.5 小结
第19章 多线程概述
19.1 多线程基础
19.2 异步任务
19.3 取消任务
19.4 使用System.Threading
19.5 总结
第20章 基于任务的异步模式编程
20.1 同步执行高延迟操作
20.2 使用TPL实现异步执行高延迟操作
20.3 使用async/await实现基于任务的异步模式
20.4 异步返回值ValueTask<T>
20.5 异步流
20.6 IAsyncDisposable接口以及await using声明和语句
20.7 使用LINQ和IAsync-Enumerable
20.8 返回void的异步方法
20.9 异步Lambda表达式和本地函数
20.10 任务调度器和同步上下文
20.11 在Windows UI程序中使用async/await
20.12 小结
第21章 并行迭代
21.1 并行执行循环迭代
21.2 并行执行LINQ查询
21.3 小结
第22章 线程同步
22.1 线程同步的意义
22.2 计时器
22.3 小结
第23章 平台互操作性和不安全代码
23.1 平台调用
23.2 指针和地址
23.3 通过委托执行不安全代码
23.4 小结
第24章 公共语言基础结构
24.1 CLI的定义
24.2 CLI的实现
24.3 .NET Standard
24.4 基类库
24.5 将C#编译成机器码
24.6 运行时
24.7 程序集、清单和模块
24.8 公共中间语言
24.9 公共类型系统
24.10 公共语言规范
24.11 元数据
24.12 .NET Native和AOT编译
24.13 小结
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...