写在前面
本文是 .NET 新特性系列第四篇。.NET 8(2023-11)是当前最成熟的 LTS。三大亮点:主构造函数(C# 终于有)、集合表达式(统一初始化)、NativeAOT 正式发布(编译成原生代码,启动极快)。
加上 TimeProvider(可测试的时间)、Frozen 集合(极快只读)等,.NET 8 是目前生产首选。
一、版本概览
| |
二、C# 12 语言特性(重点)
2.1 主构造函数(primary constructors)⭐
类/结构体的构造参数直接成为类成员(C# 终于有,之前 VB / Record 有):
| |
| |
2.2 集合表达式(collection expressions)⭐
统一所有集合的初始化语法:
| |
| |
2.3 using 别名任意类型
| |
2.4 ref readonly 参数
| |
2.5 其他
| |
三、运行时与性能
3.1 NativeAOT 正式发布 ⭐
| |
| |
3.2 Server GC 动态适应
| |
3.3 性能改进
| |
四、BCL 改进(重头)
4.1 TimeProvider(可测试的时间)⭐
| |
4.2 Frozen 集合 ⭐
| |
4.3 SearchValues
| |
4.4 System.Text.Json 多态
| |
4.5 其他
| |
五、ASP.NET Core 8
| |
六、升级建议
| |
七、小结
.NET 8 是成熟的 LTS:
- C# 12:主构造函数、集合表达式、using 别名任意类型、ref readonly
- 运行时:NativeAOT 正式、Server GC 动态适应、性能大幅提升
- BCL:TimeProvider(可测试时间)、Frozen 集合、SearchValues、JSON 多态、Keyed DI
- ASP.NET Core:Blazor United、Server GC 默认、AOT
- 定位:生产首选 LTS
下一篇讲 .NET 9(C# 13):params 集合、Lock 类型、HybridCache。