C# 15 中的新增功能

C# 15 包含以下新功能。 可以使用最新的 Visual Studio 2026 版本或 .NET 11 预览版 SDK 试用这些功能:

C# 15 是最新的 C# 版本。 .NET 11 支持 C# 15。 有关详细信息,请参阅 C# 语言版本控制

可以从 .NET 下载页下载最新的 .NET 11 预览版 SDK。 还可以下载 Visual Studio 2026 内部预览版,其中包括 .NET 11 预览版 SDK。

新功能一旦在公开预览版中发布,就会被添加到“C# 新特性”页中。 roslyn 功能状态页工作集部分跟踪即将推出的功能何时合并到主分支中。

您可以在我们关于重大变更的文章中找到 C# 15 中引入的任何重大变更

注释

我们对这些功能的反馈感兴趣。 如果发现上述任何新功能的问题,请在 dotnet/roslyn 存储库中创建一个新问题

集合表达式参数

可以用 with(...) 元素作为集合表达式的第一个元素,将参数传递给底层集合的构造函数或工厂方法。 借助此功能,可以直接在集合表达式语法中指定容量、比较器或其他构造函数参数。

以下示例演示如何将容量参数传递给List<T>构造函数,以及传递比较器给HashSet<T>

string[] values = ["one", "two", "three"];

// Pass capacity argument to List<T> constructor
List<string> names = [with(capacity: values.Length * 2), .. values];

// Pass comparer argument to HashSet<T> constructor
HashSet<string> set = [with(StringComparer.OrdinalIgnoreCase), "Hello", "HELLO", "hello"];
// set contains only one element because all strings are equal with OrdinalIgnoreCase

可以在有关集合表达式或功能规范的语言参考文章中了解有关集合表达式参数的详细信息。 有关在集合初始值设定项中使用集合表达式参数的信息,请参阅 对象和集合初始值设定项