2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

Go 云原生应用实战系列(二)

田晓亮

微服务 云原生 Go 语言

Week13 学习总结

赵龙

架构师训练营Week13作业

Frank Zeng

极客大学架构师训练营

为微服务建一个简约而不简单的配置中心

架构师修行之路

微服务 etcd 配置中心

甲方日常 11

句子

工作 随笔杂谈 日常

13周作业

方堃

PageRank 算法

极客李

第十三周

Acker飏

Week 13 作业

鱼_XueTr

大数据架构&数据应用/分析&机器学习(二)

dony.zhang

flink spark 学习 Storm

week13 homework

burner

数据分析指标-电商行业

李小匪

大数据解答(二)

dony.zhang

数据分析

初露锋芒的AI战斗机,打开AI军备竞赛的潘多拉盒子

脑极体

【第十三周】命题作业——Google 搜索排序

赵龙

week13 作业

雪涛公子

week13学习总结

burner

详解 Python 的二元算术运算,为什么说减法只是语法糖?

Python猫

Python 编程 翻译

使用Typora+PicGo配置Gitee图床

清菡软件测试

图床

架构师训练营 week13 - 学习总结

devfan

Linux Shell编程

yuanhang

Shell

week13 总结

雪涛公子

架构师训练营第十三章作业

吴吴

架构师训练营Week13总结

Frank Zeng

极客大学架构师训练营

PageRank算法

技术小生

Centos7 IP、名字、防火墙配置

yuanhang

centos7 防火墙 静态IP

【架构师训练营】第 13周作业

花生无翼

第十三周作业

Linuxer

你所在的行业,常用的数据分析指标有哪些?

李朋

架构师训练营 week13

devfan

Week13

一叶知秋

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