C# 12 features — .NET 8 language improvements.
1. Primary constructors:
1public class Person(string name, int age)2{3 public string Name => name;4}
2. Collection expressions:
1int[] numbers = [1, 2, 3];2List<string> names = ["Alice", "Bob"];
3. Spread operator:
1int[] merged = [..first, 42, ..second];
4. Default lambda parameters:
1var add = (int a, int b = 10) => a + b;2add(5); // 153add(5, 3); // 8
5. Alias any type:
1using Point = (int X, int Y);2Point p = (1, 2);
6. Experimental attribute:
1[Experimental("MY001", UrlFormat = "...")]2public void ExperimentalMethod() { }