前言
最近,.NET 10 发布啦,作为长期支持(LTS)版本,接下来的 3 年里它会给开发者们稳稳的幸福。今天咱就来唠唠它都带来了哪些超实用的新特性。可在指定链接下载。
新特性
下面将介绍了.NET 10的新特性,其主要更新内容如下:
1. .NET运行时
- 优化方法调用:JIT编译器扩展了虚方法调用优化能力,可对数组接口方法进行优化,即使存在虚调用,也能优化遍历数组的代码;还能栈分配小型、固定大小且不含GC指针的值类型数组,减少引用类型的抽象开销。
- 支持新指令集(暂未启用):为基于x64的处理器提供对高级向量扩展(AVX)10.2的支持,当前因硬件未普及默认禁用,待硬件支持后,可测试System.Runtime.Intrinsics.X86.Avx10v2类中的新内联函数 。
2. .NET库
- 证书与数据读取:新增FindByThumbprint方法,可使用除SHA-1外的哈希算法按指纹查找证书;支持直接从ASCII编码文件读取PEM编码数据。
- 类型与字符串处理:ISOWeek类新增方法重载支持DateOnly类型;增强Unicode字符串规范化API,使其可处理字符跨度;引入CompareOptions.NumericOrdering选项用于数值字符串比较。
- 其他改进:新增TimeSpan.FromMilliseconds单参数重载;提升ZipArchive的性能和内存使用效率;为System.Collections.Generic.OrderedDictionary<TKey,TValue>添加新的TryAdd和TryGetValue重载,可返回条目索引;在JsonSourceGenerationOptionsAttribute中支持指定ReferenceHandler以增强JSON序列化;引入用于创建左手系变换矩阵的新API。
3. .NET SDK:
- 主要新特性为框架提供的包引用修剪功能,但网页中未详细说明其具体作用。
4. .NET Aspire:
- 发布9.1版本,重点进行了改善使用体验的修复。
5. ASP.NET Core 10.0
- 组件功能扩展:Blazor添加QuickGrid RowClass参数,Blazor脚本可作为静态Web资产;SignalR和Minimal APIs均新增功能。
- 文档与安全增强:OpenAPI支持生成OpenAPI 3.1文档并以YAML格式提供;Authentication and authorization新增功能。
- 测试与URL检测支持:更好地支持使用顶级语句测试应用,新增检测本地URL的辅助方法。
6. .NET MAUI:
- 着重对.NET MAUI及相关平台(.NET for Android、.NET for iOS、Mac Catalyst、macOS和tvOS)进行质量改进。
7. EF Core 10
- 查询优化升级:增强LINQ和SQL转换功能。
- 方法参数拓展:ExecuteUpdateAsync现在支持常规的非表达式lambda作为参数。
8. C# 14:
- 新增多个特性提升开发效率和代码质量,包括在未绑定泛型中使用nameof、隐式跨度转换、字段支持属性、简单lambda参数使用修饰符,还有字符串字面量在数据部分的实验性特性。
9. Windows Forms
- 剪贴板功能更新:更改剪贴板序列化和反序列化方式;弃用部分剪贴板API;引入新的剪贴板相关API 。
参考来源
.NET 10 中的新增功能