写点什么

C#的未来计划

  • 2013-12-25
  • 本文字数:829 字

    阅读完需:约 3 分钟

NDC London 上,Mads Torgersen 提出了对未来 C#语言的的计划。需要注意的是,这些只是计划,不会保证在哪个版本发布。 Damien Guard 对这些建议进行了总结和简要的分析,我们在此为您挑选了其中的一些内容。

只读属性

只读自动属性将允许开发者在一行代码中声明属性及其后台字段。

public int X { get; } = x;静态类型 using 语句

Visual Basic 和 Java 都允许在命名空间中导入模块(C#静态类)。这样可以移除常用的静态函数前面的重复代码,如“Math.”。

主构造函数

通过在类名后加上参数,开发者将不再需要显式创建构造函数。这可以移除将构造函数参数复制到私有字段时的冗长代码。

public class Point(int x, int y) { private int x, y; }属性和方法表达式

属性表达式可以为简单的只读属性剔除一些原来必须的样板代码。

public double Distance => Math.Sqrt((X * X) + (Y * Y));方法表达式也是如此,当然它们可以接受参数。注意,参数化的属性仍然没有列入考虑范围之内。在未来相当长一段时间里,这只能是 VB 独有的特性。

函数参数

如今大多数开发者从来不用数组,除非要使用 params 关键字。因此有人提议让 params 也支持 IEnumerable 接口。如果这样做,其他语言(如 Visual Basic)也需要支持。还有人提议可以使用 out 关键字声明局部变量。例如,

int.TryParse("123", out int x);空传播

在处理凌乱的数据时,开发者经常需要在读取属性或调用方法前编写一系列空判断逻辑。?. 语法将帮助我们剔除这些逻辑,只有当它前面的值不为空时,才会调用后面的方法。

var bestValue = points?.FirstOrDefault()?.X;在本例中,如果 points 为空,或 points.FirstOrDefault() 返回空,那么将忽略.X,并返回空。它也可以和?? 连接使用,以提供可选的默认值。

var bestValue = points?.FirstOrDefault()?.X ?? -1;Objective-C 和 Smalltalk 这样的“消息传递”语言都包含这样的语法。它通常被认为是有问题的,因为本应抛出空引用异常的地方,却悄无声息地被忽略了。

原文英文链接: Future Plans for C#

2013-12-25 09:024251
用户头像

发布了 59 篇内容, 共 26.6 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

杰哥教你面试之一百问系列:java中高级多线程concurrent的使用

程序那些事

Java 多线程 并发 程序那些事 面试秘籍

2023年大数据平台数据安全厂商汇总

行云管家

大数据 数据安全 大数据平台

EasyPhoto:基于 SD WebUI 的艺术照生成插件来啦!

阿里云大数据AI技术

阿里云 AI

MatrixOne WAL设计解析

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

用友iuap数据中台,让数据成为企业价值资产,驱动业务持续创新

用友BIP

2023全球商业创新大会 升级数智底座

提高生产力,创新工作方式

百度开发者中心

人工智能 ChatGPT 生成式AI 文心一言

创新未来的智能数据生成

百度开发者中心

人工智能 ChatGPT 生成式AI

Eplan是电气设计软件吗?Eplan介绍-Eplan官网

智造软件

EPLAN 电气辅助设计 电气设计

云堡垒机收费模式有哪些?哪款更灵活?

行云管家

云计算 网络安全 堡垒机 云堡垒机

GaussDB技术解读丨数据库迁移创新实践

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号9月PK榜

一体化打通销售到项目交付 项目型营销更在行

用友BIP

项目云 数智营销

人工智能新范式,创新生产力崛起

百度开发者中心

人工智能 数据分析、 ChatGPT 文心一言

从数据出发,构建可信赖的生成式AI应用

百度开发者中心

人工智能 数据分析 千帆大模型平台

C#的未来计划_C#_Jonathan Allen_InfoQ精选文章