DotNETWeekly-io / DotNetWeekly

DotNet weekly newsletter
MIT License
207 stars 3 forks source link

【文章推荐】集合表达式 #597

Closed gaufung closed 6 months ago

gaufung commented 6 months ago

https://blog.jetbrains.com/dotnet/2024/03/26/collection-expressions-using-csharp-12-in-rider-and-resharper/

gaufung commented 6 months ago

image

C# 12 引入了集合表达式,它简化了集合的字面表达方式,比如之前

var array = new[] { 1, 2 };
var spread = array.Concat(new[] { 3, 4 });

那么现在就可以这么

int[] array = [1, 2];
int[] spread = [..array, 3, 4];

注意由于 C#集合是强类型的,所以不能使用 var 方式去定义。我们都知道这些背后都是编译器帮助实现的,那么可以借助 sharplab.io 展示生成 C# 代码。而且也可以自定义类型来支持集合表达式。