C# 6.0 版本包含许多可提高开发人员工作效率的功能。 此版本中的功能包括:
- 只读自动属性:
- 可以创建只能在构造函数中设置的只读自动属性。
- 自动属性初始值设定项:
- 可以编写初始化表达式来设置自动属性的初始值。
- Expression-bodied 函数成员:
- 可以使用 lambda 表达式创建单行方法。
- using static:
- 可以将单个类的所有方法导入当前命名空间。
- Null - 条件运算符:
- 可以简洁、安全地访问对象的成员,同时仍能使用 null 条件运算符检查 null。
- 字符串内插:
- 可以使用内联表达式(而不是位置参数)编写字符串格式设置表达式。
- 异常筛选器:
- 可以基于异常或其他程序状态的属性捕获表达式。
- nameof 表达式:
- 可以让编译器生成符号的字符串表示形式。
- Catch 和 Finally 块中的 Await:
- 可以在先前不允许使用
await
表达式的位置使用它们。
- 可以在先前不允许使用
- 索引初始值设定项:
- 可以为关联容器及序列容器创建初始化表达式。
- 集合初始值设定项的扩展方法:
- 除成员方法以外,集合初始值设定项还可以依赖可访问的扩展方法。
- 改进了重载解析:
- 先前生成了不明确的方法调用的某些构造现在可以正确解析。
这些功能的总体效果是让你编写的代码更简洁、更具可读性。 该语法不像许多常见做法那样繁琐。 可以更轻松地看出设计意图。 好好了解这些功能有助于你提高工作效率、编写更具可读性的代码,并更专注于核心功能而不是语言的构造。
原文:https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-6