1. 主构造函数(Primary Constructors)
-
简化构造函数定义,允许在类或结构中直接声明构造函数参数。
-
示例:
csharp
public class Person(string name, int age) { public string Name => name; public int Age => age; }
2. 集合表达式(Collection Expressions)
-
提供更简洁的集合初始化语法,适用于数组、列表等集合类型。
-
示例:
csharp
int[] numbers = [1, 2, 3, 4, 5]; List<string> names = ["Alice", "Bob", "Charlie"];
3. 内联数组(Inline Arrays)
-
允许在栈上分配固定大小的数组,提升性能。
-
示例:
csharp
public struct FixedBuffer { public inline int Buffer[10]; }
4. Lambda 表达式的改进
-
支持更灵活的语法,包括可选参数和更简洁的表达式。
-
示例:
csharp
var add = (int x, int y = 1) => x + y;
5. 拦截器(Interceptors)
-
允许在编译时拦截方法调用并替换为自定义实现,主要用于高级场景。
6. 别名任意类型(Alias Any Type)
-
允许为任意类型创建别名,提升代码可读性。
-
示例:
csharp
using Point = (int X, int Y); Point p = (10, 20);
7. 默认 Lambda 参数
-
允许为 Lambda 表达式参数设置默认值。
-
示例:
csharp
var greet = (string name = "Guest") => $"Hello, {name}!";
8. 扩展属性(Experimental Attribute)
-
标记实验性功能,提醒开发者这些功能可能不稳定或未来会更改。
9. 改进的模式匹配
-
增强模式匹配功能,支持更复杂的匹配场景。
10. 性能优化
-
包括更高效的内存管理和代码生成,提升运行时性能。