C# 7.0 - C# 7.3 中的新增功能
C# 7.0 - C# 7.3 为 C# 开发体验带来了大量功能和增量改进。 本文概述了新的语言功能和编译器选项。 说明中描述了 C# 7.3 的行为,C# 7.3 是基于 .NET Framework 的应用程序支持的最新版本。
C# 7.1 中添加了语言版本选择配置元素,因此你可以在项目文件中指定编译器语言版本。
C# 7.0-7.3 将这些功能和主题添加到了 C# 语言中:
- 元组和弃元
- 可以创建包含多个公共字段的轻量级未命名类型。 编译器和 IDE 工具可理解这些类型的语义。
- 弃元是指在不关心所赋予的值时,赋值中使用的临时只写变量。 在对元组和用户定义类型进行解构,以及在使用
out
参数调用方法时,它们的作用最大。
- 模式匹配
- 可以基于任意类型和这些类型的成员的值创建分支逻辑。
async
Main
方法- 应用程序的入口点可以含有
async
修饰符。
- 应用程序的入口点可以含有
- 本地函数
- 可以将函数嵌套在其他函数内,以限制其范围和可见性。
- 更多的 expression-bodied 成员
- 可使用表达式创作的成员列表有所增长。
throw
表达式- 可以在之前因为
throw
是语句而不被允许的代码构造中引发异常。
- 可以在之前因为
default
文本表达式- 在可以推断目标类型的情况下,可在默认值表达式中使用默认文本表达式。
- 数字文本语法改进
- 新令牌可提高数值常量的可读性。
out
变量- 可以将
out
值内联作为参数声明到使用这些参数的方法中。
- 可以将
- 非尾随命名参数
- 命名的参数可后接位置参数。
private protected
访问修饰符private protected
访问修饰符允许访问同一程序集中的派生类。
- 改进了重载解析
- 用于解决重载解析歧义的新规则。
- 编写安全高效代码的技巧
- 结合了多项语法改进,可使用引用语义处理值类型。
元组和弃元
C# 为用于说明设计意图的类和结构提供了丰富的语法。 但是,这种丰富的语法有时会需要额外的工作,但益处却很少。 你可能经常编写需要包含多个数据元素的简单结构的方法。 为了支持这些方案,已将元组添加到了 C#。 元组是包含多个字段以表示数据成员的轻量级数据结构。 这些字段没有经过验证,并且你无法定义自己的方法。 C# 元组类型支持 ==
和 !=
。 有关详细信息,
低于 C# 7.0 的版本中也提供元组,但它们效率低下且不具有语言支持。 这意味着元组元素只能作为
Item1
和 Item2
等引用。 C# 7.0 引入了对元组的语言支持,可利用更有效的新元组类型向元组字段赋予语义名称。
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post YES开发框架