C# 12 现已推出!您可以通过下载.NET 8、最新的Visual Studio或Visual Studio Code 的 C# Dev Kit来获取它。
对于现有项目,您还需要表明您想要更改语言版本。TargetFramework
您可以通过更改为 .NET 8 来更改语言版本:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
...
</PropertyGroup>
</Project>
C# 12 通过简化的语法和更快的执行速度提高了开发人员的工作效率。您可以在 MS Learn 上的C# 12 新增功能一文中查看每个功能的详细信息。新增功能一文包含指向 MS Learn 上反映新功能的 C# 文档更新的链接。
简化您的代码
C# 的每个版本都可以帮助您编写更好的代码 - 更简单的代码可以更好地表达您的意图。与您以前编写的代码相比,新方法的速度相同或更快,并且具有相同或更少的分配。您可以放心地采用这些新功能。新功能的设计目标之一是确保采用新功能不会降低性能。
C# 12 引入了集合表达式、所有类和结构的主构造函数、任何类型的别名语法以及可简化代码的 lambda 表达式的默认参数。
集合表达式
在 C# 12 之前,创建集合需要针对不同场景使用不同的语法。初始化List<int>
所需的与int[]
or不同的语法Span<int>
。以下是创建集合的几种方法:
int[] x1 = new int[] { 1, 2, 3, 4 };
int[] x2 = Array.Empty<int>();
WriteByteArray(new[] { (byte)1, (byte)2, (byte)3 });
List<int> x4 = new() { 1, 2, 3, 4<