.NET 10 中的新增功能

.NET 运行时

.NET 10 运行时引入了新功能和性能改进。 关键更新包括:

  • 数组接口方法反虚拟化:JIT 现在可以取消虚拟化和内联数组接口方法,从而提高数组枚举的性能。
  • 数组枚举去抽象化:改进功能以通过枚举器减少数组迭代的抽象开销,从而实现更好的函数内联和栈分配。
  • 后期非虚拟化方法的内联:JIT 现在可内联方法;而由于以前的内联功能,这些方法现在可实现非虚拟化。
  • 基于内联观察的去虚拟化:JIT 使用内联中的精确类型信息使后续调用去虚拟化。
  • 值类型的数组的堆栈分配:没有 GC 指针的小型固定大小的数组现在可以进行堆栈分配。
  • AVX10.2 支持:为基于 x64 的处理器引入了对高级矢量扩展 (AVX) 10.2 的支持,但目前默认禁用。
  • NativeAOT 增强功能:支持在 NativeAOT 的类型预初始化器中进行强制转换和求反。

有关详细信息,请参阅 .NET 10 运行时 中的新增功能

.NET 库

.NET 10 库引入了多项新功能和改进,包括:

  • 按 SHA-1 以外的指纹查找证书:新方法允许使用哈希算法(如 SHA-256)查找证书。
  • 在 ASCII/UTF-8 中查找 PEM 编码数据:PEM 编码 API 现在支持直接从 ASCII/UTF-8 数据读取。
  • 面向 DateOnly 的 ISOWeek 支持ISOWeek 类中的新重载支持 DateOnly 类型。
  • 用于跨度的字符串规范化 API:新的 API 允许 Unicode 字符串规范化处理字符跨度,从而减少内存分配。
  • 字符串比较的数字顺序 :新 CompareOptions.NumericOrdering 选项启用数值字符串比较。
  • 新的 TimeSpan.FromMilliseconds 重载:单参数重载解决了 LINQ 表达式的问题。
  • ZipArchive 性能改进 :优化可减少内存使用量,并提高模式和并行提取的性能ZipArchiveUpdate
  • OrderedDictionary 增强功能 :新的 TryAddTryGetValue 重载会返回用于快速访问的索引。
  • JSON 序列化更新 :源代码生成器现在允许在ReferenceHandler中指定JsonSourceGenerationOptionsAttribute
  • 左手系矩阵变换:用于创建左手系变换矩阵的新 API。
  • PKCS#12 导出增强功能:新方法允许指定 PKCS#12/PFX 导出的加密和摘要算法。

有关详细信息,请参阅 .NET 10 库中的新增功能

.NET SDK

.NET 10 SDK 引入了以下新功能和增强功能,包括:

  • 删除框架提供的包引用:自动删除未使用的框架提供的包引用,减少生成时间和磁盘使用率。
  • 更一致的命令顺序 :CLI 命令的新名词优先别名 dotnet 可提高可读性和一致性。

有关详细信息,请参阅 SDK for .NET 10 中的新增功能。

.NET Aspire

.NET Aspire 发布 9.1 版本,重点在于优化用户体验。

有关详细信息,请参阅 .NET Aspire 9.1中的新增功能。

ASP.NET Core

ASP.NET Core 10.0 版本引入了多项新功能和增强功能,包括:

  • Blazor 增强功能

    • ReconnectModal 组件添加到 Blazor Web App 项目模板,改进了重新连接 UI 控件。
    • NavigateTo 方法在同页导航时不再自动滚动到顶部。
    • 组件 NavLink 现在在使用 NavLinkMatch.All时忽略查询字符串和片段。
    • QuickGrid 添加了 RowClass 参数,以根据行数据将样式应用于行。
    • QuickGrid 添加了 CloseColumnOptionsAsync 方法,以便以编程方式关闭列选项。
    • Blazor 框架脚本现在作为启用了预压缩和指纹的静态 Web 资源提供。
  • OpenAPI 改进

    • 添加了对生成 OpenAPI 版本 3.1 文档的支持。
    • 添加了对以 YAML 格式提供 OpenAPI 文档的支持。
    • 将 XML 文档注释填充到 OpenAPI 文档中。
  • 最小 API

    • 改进了使用顶级语句的应用的集成测试。
    • 表单提交中的空字符串现在会被视为可为 Null 的值类型的 null
  • 身份验证和授权

    • 添加了用于身份验证和授权事件的新指标。
  • 杂项

    • 添加了用于检测本地 URL 的RedirectHttpResult.IsLocalUrl辅助方法。
    • RouteAttribute 中新增了对路由语法进行突出显示的支持。

有关详细信息,请参阅 .NET 10 中 ASP.NET Core 的新增功能

C# 14

C# 14 引入了多项新功能和增强功能,以提高开发人员的工作效率和代码质量。 关键更新包括:

  • 字段支持的属性 :提供从自动实现的属性到编写自定义 getset 访问器的更流畅的路径。 现在可以使用上下文关键字访问 field 编译器生成的后盾字段。
  • 未绑定泛型支持 nameof :表达式 nameof 现在支持未绑定泛型类型,例如 List<>,返回类型的名称而无需类型参数。
  • 隐式跨度转换 :为附带新的隐式转换的 Span<T>ReadOnlySpan<T> 引入了一流支持,以便让使用这些类型的编程更为自然。
  • 简单 lambda 参数的修饰符 :允许参数修饰符(例如 refin或在 out lambda 表达式中)不指定参数类型。
  • 实验功能 - 数据部分中的字符串文本:允许将字符串文本作为 UTF-8 数据发出到 PE 文件的单独部分,从而提高某些方案的效率。
  • 部分事件和构造函数:添加了对部分实例构造函数和部分事件的支持,并补充了 C# 13 中引入的部分方法和属性。

有关详细信息,请参阅 C# 14中的新增功能。

.NET MAUI

.NET 10 中的 .NET MAUI 更新包括适用于 .NET MAUI、适用于 Android 的 .NET 以及适用于 iOS、Mac Catalyst、macOS 和 tvOS 的 .NET 的多项新功能和质量改进。 关键更新包括:

  • 常规改进

    • 用于在 VisualElement 上将格式化后的字符串转换为 Shadow 的新 ShadowTypeConverter
    • 添加了 SpeechOptions.Rate 用于控制文本转语音中的播放速率。
    • 支持在 iOS 和 Mac Catalyst 上将模态窗口样式设为弹出样式。
    • 添加了 Switch.OffColor 用于在关闭时自定义控件颜色 Switch
    • 添加了 SearchBar.SearchIconColor 用于自定义搜索图标的颜色。
    • 无需泛型参数即可调用 JavaScript 的新 HybridWebView.InvokeJavascriptAsync 方法。
  • 弃用功能

    • FontImageExtension XAML 标记扩展已弃用。 请改用 FontImageSource
    • MessagingCenter 现在为内部功能。 将其替换为 CommunityToolkit.Mvvm 包中的 WeakReferenceMessenger
  • 适用于 Android 的 .NET

    • 支持 Android 16 (API-36) Beta 1。
    • 已将建议的最低支持 Android API 更新为 24 (Nougat)。
    • 支持使用 JDK-21 进行构建。
    • 添加了对 Android 项目中 dotnet run 的支持。
    • 默认启用封送方法以提高启动性能。
    • 设计时生成不再调用 aapt2,从而缩短生成时间。
  • 适用于 iOS、Mac Catalyst、macOS、tvOS 的 .NET

    • 剪裁器警告现在默认处于启用状态。
    • 库中的原始资源捆绑功能现在可选择不使用。

有关详细信息,请参阅 .NET 10 中 .NET MAUI 的新增功能

EF Core

EF Core 10 版本引入了多项新功能和改进,包括:

  • LINQ 增强功能

    • 添加了对 LeftJoin 运算符的支持,简化了需要 LEFT JOIN 操作的 LINQ 查询。
    • 添加了对 RightJoin 运算符的支持,启用需要 RIGHT JOIN 操作的 LINQ 查询。
  • ExecuteUpdateAsync 改进

    • ExecuteUpdateAsync 现在接受常规的非表达式 lambda,从而在更新实体时降低冗长度。
  • 性能优化

    • 改进了DateOnly.ToDateTime(timeOnly)的翻译。
    • 优化了多个连续的 LIMIT 操作。
    • 增强了 ICollection<T>Count 操作的性能。
    • 优化了 DISTINCT 上的 MIN/MAX 操作。
  • 杂项

    • SQL 查询中的参数名称简化(例如,从@__city_0city)。
    • 添加了对使用 DatePart.MicrosecondDatePart.Nanosecond 的日期/时间函数的翻译。
    • 使 SQL Server 基架与 Azure 数据资源管理器兼容。

有关详细信息,请参阅 EF Core for .NET 10中的新增功能。

F#

.NET 10 中的 F# 更新包括语言、标准库和编译器服务的多项新功能和改进。 关键更新包括:

  • F# 语言

    • 新的语言功能需要在文件中启用 <LangVersion>preview</LangVersion> 项目属性 .fsproj 。 这些功能成为 .NET 10 版本的默认功能。
  • FSharp.Core 标准库

    • FSharp.Core 标准库的更改会自动应用于使用新 SDK 编译的项目,除非显式了固定较低的 FSharp.Core 版本。
  • FSharp.Compiler.Service

    • 编译器实现中的常规改进和 bug 修复。

有关详细信息,请参阅 F# 发行说明

Visual Basic

.NET 10 中的 Visual Basic 更新包括以下功能和增强功能:

  • unmanaged 约束支持 :Visual Basic 编译器现在解释并强制实施 unmanaged 泛型约束,从而更好地与运行时 API 兼容。
  • 遵循重载解析优先级 :Visual Basic 编译器依照此 OverloadResolutionPriorityAttribute,优先选择性能更好的基于 Span 的重载,并解决方法重载间的歧义。

这些更新可确保 Visual Basic 可以在 C# 和运行时中使用更新的功能,从而提高兼容性和性能。

有关详细信息,请参阅 Visual Basic 中的新增功能。

Windows 窗体

适用于 .NET 10 的 Windows 窗体中的更改包括:

  • 与剪贴板相关的更新

    • 引入了新的 API,用于从剪贴板进行 JSON 序列化和类型安全的数据检索,例如 SetDataAsJson<T>TryGetData<T>
    • 将多个与剪贴板相关的 API 标记为已过时,以警告开发人员潜在的 BinaryFormatter 使用情况。
    • 添加了配置开关 (Windows.ClipboardDragDrop.EnableUnsafeBinaryFormatterSerialization) 以为剪贴板场景显式启用 BinaryFormatter
    • 使用 WPF 统一剪贴板代码来提高一致性和可靠性。
  • 移植的 UITypeEditors

    • 从 .NET Framework 移植了多个 UITypeEditors,其中包括与 DataGridView 控件相关的 ToolStripCollectionEditor 和编辑器。
  • 质量增强功能

    • 扩展了单元测试覆盖范围并解决了各种 bug 修复,以提高稳定性和性能。

有关详细信息,请参阅 .NET 10 的 Windows 窗体中的新增功能

WPF(Windows Presentation Foundation)

.NET 10 中的 WPF 更新包括多项性能改进、Fluent 样式更改、bug 修复和工程运行状况更新:

  • 性能改进

    • 将数据结构从PartialList替换为ReadOnlyCollection以提升性能。
    • 优化 UI 自动化和文件对话框操作,以最大程度地减少资源分配。
    • 改进了像素格式转换性能。
  • Fluent 样式更改

    • 更新了Label的默认样式。
    • 通过调整 KeyTime 值修复了 Expander 的动画问题。
  • Bug 修复

    • 解决了 UI 元素游标类型的问题以及当位图流为 null 时导致的崩溃问题。
    • 修复了 ScrollViewer 和 . 的 ContextMenu本地化问题。
    • 解决了 BitmapMetadata 和本地依赖项中的次要 bug。
  • 工程运行状况

    • 跨 WPF 组件更新并同步了 MilCodeGen
    • 删除了弃用的 .NET 运行时引用和不必要的包依赖项。
    • 对生成的代码进行样式清理并禁用了代码分析,以简化构建过程。

有关详细信息,请参阅 .NET 10 中的 WPF 中的新增功能

相关推荐
AI行业学习17 小时前
.NET Framework 3.5 SP1 完整离线包【2026.5.31】
.net
学以智用1 天前
.NET Core 完整特性速查表(终极版)
后端·.net
cdbqss11 天前
VB2026 动态生成工具栏类 BqGetToolStrip
数据库·oracle·开源·.net·学习方法·教育电商·basic
宝桥南山1 天前
Microsoft Agent Framework(MAF) - 如何将workflow或者A2A client转换成一个AI Agent
microsoft·ai·微软·aigc·.net·.netcore
三天不学习2 天前
YOLO + .NET 10 快速入门:从零搭建实时目标检测应用
yolo·目标检测·.net
0x00073 天前
译 Anders Hejlsberg 谈 C# 与 .NET
开发语言·c#·.net
AI行业学习3 天前
.NET Framework 3.5 SP1 完整离线包(2029.5.29)
开发语言·windows·.net
AI行业学习3 天前
.NET Framework 3.5 官方离线包下载+完整安装教程【2026.5.29】
windows·.net·notepad++
我是唐青枫3 天前
C#.NET YARP 服务发现实战:接入 Consul 和 Kubernetes 动态发现后端服务
c#·服务发现·.net
一个帅气昵称啊3 天前
NetcoreKevin:.NET 企业级智能体管理框架
.net