微软发布 .NET 10 首个预览版:JIT 编译器再进化、跨平台开发更流畅

xxn 阅读:44314 2025-02-26 16:03:50 评论:0

IT之家于2月26日报道,微软 .NET 团队在2月25日发布了一篇博文,宣布推出 .NET 10 的初步预览版更新,旨在改进.NET Runtime、SDK、libraries、C#、ASP.NET Core、Blazor及.NET MAUI等多个方面。

根据官方公告,更新内容简要列出如下:

.NET Runtime

此次.NET Runtime的更新重在减少常用语言特性的抽象开销,意即程序在运行时所产生的额外性能消耗,包括指令执行、内存消耗及函数调用等。

JIT 编译器扩展了对虚拟化方法调用的支持,使数组接口方法的性能得到了优化。同时,JIT 现在可以在栈上分配不含 GC 指针的小型固定大小值类型数组,从而进一步降低引用类型带来的抽象开销。

此外,.NET 10 现已支持 x64 的 AVX(高级向量扩展)10.2 指令集,但目前处于默认禁用状态,计划在硬件普及后开启。

.NET 库

.NET 10 库现新增了 FindByThumbprint 方法,以便使用除 SHA-1 之外的哈希算法查找证书。

另外,该库新增加了直接从 ASCII 编码文件中读取 PEM 编码数据的功能。

ISOWeek 类现新增了支持 DateOnly 类型的方法重载,同时 Unicode 字符串规范化 API 得到增强,可以处理字符跨度的问题,并增设 CompareOptions.NumericOrdering 用于数字字符串的比较。

其他改进包括新增 TimeSpan.FromMilliseconds 重载、ZipArchive 的性能及内存使用优化、OrderedDictionary 新增 TryAdd 和 TryGetValue 方法的重载等。

JSON 序列化功能得到了增强,允许在 JsonSourceGenerationOptionsAttribute 中指定 ReferenceHandler。同时,新增 API 用于生成广告牌和有限广告牌矩阵的左手变换矩阵。

.NET SDK

.NET 10 SDK 借助框架提供的包引用剪枝功能,提升了性能。

.NET Aspire

.NET Aspire 发布了 9.1 版本,注重质量的改进。

ASP.NET Core

ASP.NET Core 10.0 的各项改进包括:Blazor 现支持 QuickGrid RowClass 参数,Blazor 脚本作为静态 Web 资源提供;支持生成 OpenAPI 3.1 文档并以 YAML 格式展现;身份验证与授权也增加了新功能,并在支持使用顶级语句测试应用程序方面做得更好,新增用于检测本地 URL 的辅助方法。

.NET MAUI

该版本集中于.NET MAUI、.NET for Android、.NET for iOS、Mac Catalyst、macOS 及 tvOS 的质量提升。

EF Core

EF Core 10 的提升包括 LINQ 和 SQL 转换优化,ExecuteUpdateAsync 现在支持常规非表达式 lambda。

C# 14

C# 14 引入了多个新特性和增强功能,包括:支持用于未绑定泛型的 nameof;隐式 span 转换;字段支持的属性;简单 lambda 参数的修饰符及实验性功能 —— 数据段内的字符串字面量。

Windows Forms

Windows Forms的更新则包括:剪贴板相关的序列化及反序列化修改;弃用的剪贴板 API;以及新增的剪贴板相关 API。

广告声明:文中包含的外部链接(例如超链接、二维码、口令等)旨在传递更多的信息,以节省筛选时间,结果仅供参考。

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

搜索
排行榜
关注我们

扫一扫关注我们,了解最新精彩内容