QCon 演讲火热征集中,快来分享你的技术实践与洞见! 了解详情
写点什么

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:023794
用户头像

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

关注

评论

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

架构师训练营第五周作业

吴传禹

极客大学架构师训练营

第一周作业1:设计图表

韩儿

架构师训练营 1 期第 5 周:技术选型(一) - 作业

piercebn

极客大学架构师训练营

区块链:现实与未来的二律背反

CECBC

区块链 虚拟世界

想要进大厂做架构师,需要掌握哪些技术?阿里内部绝密 “Java架构修炼宝典”从基础一直深入到源码!

Java架构之路

Java 程序员 架构 面试 编程语言

什么! 你还在使用 if (xxx != null)做NullPointerException判断?

刘超

Java Optional

明星里程被盗?看区块链如何加强个人信息安全保护

CECBC

信息安全 数字签名

工业互联网推动制造业数字化转型

CECBC

区块链 大数据

架构师训练营第五周课后练习

薛凯

Consistent Hash

韩向民

架构师训练营第 1 期 week5 总结

张建亮

极客大学架构师训练营

一、食堂就餐卡系统UML设计

Geek_28b526

美滋滋!阿里内部最新出台Java开发规范和系统性能优化指南~

Java架构追梦

Java 学习 架构 面试 性能优化

玩一场用户故事的Cosplay

Bruce Talk

Agile 用户故事 Product Owner

架构师训练营 -week05- 作业

大刘

极客大学架构师训练营

第五周 技术选型(1)作业

蓝黑

极客大学架构师训练营

架构师训练营第五周总结

吴传禹

极客大学架构师训练营

架构师训练营 - 第一周课后练习

joshuamai

太难了,5年Java开发经验,阿里面试了7轮终于拿下P7岗offer!

Java架构之路

Java 程序员 架构 面试 编程语言

科大讯飞1024开发者节,有温度,有创新,有看点

Xue Liang

AI 技术方案 智能医疗 识别

架构师训练营第五周总结

薛凯

golang实现一致性 hash 算法

Jacky.Chen

架构师训练营培训第一周作业

lakers

极客大学架构师训练营

架构师训练营第 1 期第 5 周学习总结

好吃不贵

极客大学架构师训练营

架构师训练营第 1 期 week5

张建亮

极客大学架构师训练营

javaCV学习-1-环境搭建及测试多张图片合成一个mp4的视频

诸葛小猿

Java 图片合成视频 机器视觉

我在苦苦坚持的时候,WebStorm已经悄悄的“真香”起来

小Q

Java 学习 架构 面试 webstorm

科大讯飞胡国平:AI和5G互相辅助,认知中台传递基础技术能力

Xue Liang

学习 AI 语音识别

架构师训练营第 5 周课后练习

叶纪想

极客大学架构师训练营

Week1-架构方法学习

evildracula

学习 架构

架构师训练营1期第5周作业--一致性哈希算法

木头发芽

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