微软于发布了.NET 10第一个预览版,带来多项语言与执行环境的改进,涵盖C#语法增强、性能优化,以及Blazor和.NET MAUI的强化。这次更新不仅提升开发体验,也进一步强化.NET在跨平台与云计算应用的竞争力。

在C#部分,这次更新带来数个语法层级的强化,让程序代码更简洁且易于维护。nameof现在可用于未绑定的泛型,让泛型类别或方法内部的参照更加直觉,而隐式span转换则进一步简化Span

性能层面,.NET 10针对执行阶段进行多项优化,包括数组界面方法去虚拟化(Array Interface Method Devirtualization),让JIT编译器能够更有效率地执行常见的数组操作,将数组实例的界面方法从虚拟调用转换为直接调用,减少额外的计算成本开销。此外,.NET 10进一步扩展值类型数组的堆栈分配(Stack Allocation of Arrays of Value Types),在符合条件的场景下,JIT现在可以将小型、固定大小且不包含垃圾回收指标的值类型数组直接分配在堆栈,而非堆内存,降低垃圾回收压力,进一步提升应用程序的执行性能。同时这次版本也支持AVX10.2,让.NET应用可以在支持的硬件架构上,充分运用最新的矢量运算能力,提升数值计算与科学运算的性能。

在网页应用开发方面,.NET 10的ASP.NET Core与Blazor也迎来多项改进,最受瞩目的更新之一是对OpenAPI 3.1的支持,使API开发符合最新的标准规范,提升与各种REST API生态系的兼容性。Blazor则在开发体验方面有多项改善,例如RouteAttribute现在支持语法突出显示,让路由设置更清晰可读,而QuickGrid也添加RowClass参数,让开发者能够更灵活地调整UI样式。此外,Blazor的JavaScript互通性进一步强化,支持将Blazor脚本视为静态网页资产,减少外部依赖,提高应用的可移植性与加载性能。

跨平台开发也是这次.NET 10更新的重点,特别是在.NET MAUI的强化上,iOS和Mac Catalyst的CollectionView进行多项性能与稳定性调整,让UI操作更顺畅。在Android开发方面,.NET 10开始支持Android 16,并调整最低支持API的建议版本。此外,这次更新也加入对JDK 21的支持,让开发者可以使用最新的Java环境构建Android应用,同时dotnet run也已支持Android项目,简化开发流程,减少额外的部署步骤。

Entity Framework Core也在这次版本中迎来数个实用的新功能,.NET 10正式支持LeftJoin运算符,让LINQ查询的可读性与性能获得进一步提升,而ExecuteUpdateAsync也开始支持一般的Lambda表达式,使开发者可以更直觉地操作数据库,减少对表达式树(Expression Trees)的依赖,提升程序代码的可维护性。