C#8.0本质论

封面

fengmian

目录

第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
20.5 异步流
20.6 IAsyncDisposable接口以及await using声明和语句
20.7 使用LINQ和IAsyncEnumerable
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#8.0本质论

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C#本质论(第3版) 详细介绍C# 4.0 第1章 c#概述 1.1 hello world 1.2 c#语法基础 1.2.1 c#关键字 1.2.2 类型定义 1.2.3 main 1.2.4 语句和语句分隔符 1.2.5 空白 1.3 使用变量 1.3.1 数据类型 1.3.2 变量的声明 1.3.3 变量的赋值 1.3.4 变量的使用 1.4 控制台输入和输出 1.4.1 从控制台获取输入 1.4.2 将输出写入控制台 1.5 注释 1.6 托管执行和公共语言基础结构 1.7 c#和net版本 .1.8 cil和ildasm 1.9 小结 第2章 数据类型 2.1 基本数值类型 2.1.1 整数类型 2.1.2 浮点类型 2.1.3 decimal类型 2.1.4 字面值 2.2 更多基本类型 2.2.1 布尔类型 2.2.2 字符类型 2.2.3 字符串 2.3 null和void 2.3.1 null 2.3.2 void 2.4 类型的分类 2.4.1 值类型 2.4.2 引用类型 2.5 可空修饰符 2.6 数据类型之间的转换 2.6.1 显式转型 2.6.2 隐式转型 2.6.3 不进行转型的类型转换 2.7 数组 2.7.1 数组的声明 2.7.2 数组的实例化和赋值 2.7.3 数组的使用 2.7.4 字符串作为数组使用 2.7.5 常见错误 2.8 小结 第3章 运算符和控制流 3.1 运算符 3.1.1 一元运算符正和负 3.1.2 二元算术运算符 3.1.3 圆括号运算符 3.1.4 赋值运算符 3.1.5 递增和递减运算符 3.1.6 常量表达式 3.2 流控制概述 3.2.1 if语句 3.2.2 嵌套if 3.3 代码块 3.4 作用域和声明空间 3.5 布尔表达式 3.5.1 关系运算符和相等性运算符 3.5.2 逻辑布尔运算符 3.5.3 逻辑求反运算符 3.5.4 条件运算符 3.5.5 空接合运算符 3.6 按位运算符 3.6.1 移位运算符 3.6.2 按位运算符 3.6.3 按位赋值运算符 3.6.4 按位取反运算符 3.7 控制流语句 3.7.1 whi.1 e和do/while循环 3.7.2 for循环 3.7.3 foreach循环 3.7.4 switch语句 3.8 跳转语句 3.8.1 break语句 3.8.2 continue语句 3.8.3 go to语句 3.9 c#预处理器指令 3.9.1 排除和包含代码 3.9.2 定义预处理器符号 3.9.3 生成错误和警告 3.9.4 关闭警告消息 3.9.5 nowarn:选项 3.9.6 指定行号 3.9.7 可视编辑器提示 3.10 小结 第4章 方法和参数 4.1 方法的调用 4.1.1 命名空间 4.1.2 类型名称 4.1.3 作用域 4.1.4 方法名称 4.1.5 参数 4.1.6 方法返回值 4.1.7 语句与方法调用的比较 4.2 方法的声明 4.2.1 参数声明 4.2.2 方法返回值声明 4.3 uslng指令 4.4 main()的返回值和参数 4.5 参数 4.5.1 值参数 4.5.2 引用参数 4.5.3 输出参数 4.5.4 参数数组 4.6 递归 4.7 方法重载 4.8 可选参数 4.9 用异常实现基本错误处理 4.9.1 捕捉错误 4.9.2 使用throw语句报告错误 4.10 小结 第5章 类 5.1 类的定义和实例化 5.2 实例字段 5.2.1 实例字段的声明 5.2.2 实例字段的访问 5.3 实例方法 5.4 使用this关键字 5.5 访问修饰符 5.6 属性 5.6.1 属性的声明 5.6.2 自动实现的属性 5.6.3 命名规范 5.6.4 提供属性验证 5.6.5 读和只写属性 5.6.6 为取值方法和赋值方法指定访问修饰符 5.6.7 属性作为虚字段使用 5.6.8 属性和方法调用不允许作为ref或out参数值使用 5.7 构造器 5.7.1 构造器的声明 5.7.2 默认构造器 5.7.3 对象初始化器 5.7.4 构造器的重载 5.7.5 使用this调用另一个构造器 5.8 静态成员 5.8.1 静态字段 5.8.2 静态方法 5.8.3 静态构造器 5.8.4 静态属性 5.8.5 静态类 5.9 扩展方法 5.10 封装数据 5.10.1

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_74043383

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值