2026 年 2 月 13 日,微软推出了 .NET 11C# 15 的首个预览版,为今年 11 月计划的正式发布铺路。本次更新的重点包括 减少 Mono 运行时使用、优化跨平台支持以及引入多项新功能。值得注意的是,.NET 11 将只提供 两年标准支持(STS)

过去十年,Mono 运行时主要用于微软收购 Xamarin 后的跨平台解决方案,尤其是 MAUI(跨平台应用界面)移动应用WebAssembly。虽然大多数开发者难以察觉,但 Mono 仍是部分场景的底层依赖。随着 .NET 11 的发布,CoreCLR 成为 .NET WebAssembly SDK 的目标运行时,部分 Blazor 项目将采用它。同时,Android 构建也默认使用 CoreCLR,而在 .NET 10 中该功能仍是实验性质。这标志着微软进一步 削减 Mono 依赖,推动统一的运行时架构。

.NET
.NET

在库层面,.NET 11 引入了 Zstandard 压缩支持,提升了性能表现。

随着每次 .NET 更新,C# 语言也同步升级。本次预览中的 C# 15 引入了 集合表达式参数(collection expression arguments),允许在创建集合对象时直接进行自定义。例如:

List names = [with(capacity: values.Count * 2), .. values];

这种写法可以在创建时设置容量或指定自定义比较器。为保持向后兼容,修改集合的参数会被包装在一个占位元素中。尽管技术上可能引入破坏性变更,但仅在调用现有名为 with 的方法时才会出问题,可通过 @with 解决。

这一特性在开发者社区引发了热议。微软软件开发者 Cyrus Najmabadi 曾在语言设计会议(LDM)结束后关闭讨论,称新实现“有效解决了核心需求”。但仍有开发者认为,“这种语法在 C# 中显得突兀”,担心语言复杂度增加并可能引入类似 C++ 的陷阱。

总体来看,C# 仍远未达到 C++ 的复杂度,而每一次语言改进都伴随着一定代价。开发者可以在本次预览中提前尝试新功能,为正式发布做好准备。

亮点总结:

  • 减少 Mono 依赖,统一 CoreCLR 为主要运行时
  • WebAssembly 与 Android 默认使用 CoreCLR
  • 库层面支持 Zstandard 压缩
  • C# 15 支持集合表达式参数,提升集合初始化灵活性

此次预览是微软在 2026 年 .NET 生态升级周期中的第一步,为开发者提供了 跨平台性能优化与语言新特性 的提前体验。