速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

Java高级特性之 IO流,java面试题高级

Java 程序员 后端

Kafka性能调优实战:同等资源配置性能提升20几倍的秘诀

Java 程序员 后端

kubebuilder实战之三:基础知识速览,mybatis运行原理步骤

Java 程序员 后端

Java面试屡碰壁,一气之下狂刷高分宝典,一月之后拿到字节offer

Java 程序员 后端

java面试题,mybatis原理和实现机制

Java 程序员 后端

Java高手是怎样炼成的?阿里P8技术大牛这份手写笔记告诉你答案!

Java 程序员 后端

模块二作业

小鹿

JDK的前世今生:细数 Java5 - 15 的那些经典特性

Java 程序员 后端

JUnit5学习之一:基本操作,菜鸟教程java在线编辑器下载

Java 程序员 后端

Kafka-on-Pulsar 的前世今生,新秀 Pulsar 到底好在哪?

Java 程序员 后端

Kotlin之DSL,java面试写代码

Java 程序员 后端

Java面试题超详细整理《多线程篇》,mongodb教程导入外部数据

Java 程序员 后端

架构营模块二作业

GTiger

架构实战营

Jedis入门教程,java入门课程百度网盘

Java 程序员 后端

架构设计流程

天天向上

架构实战营

Java高级特性之 IO流(1),三面蚂蚁金服(交叉面)定级阿里P6

Java 程序员 后端

Kubernetes 常用命令大全,震撼来袭免费下载

Java 程序员 后端

模块二作业

小朱

架构实战营

JVM篇:对象的深度剖析,mybatis入门程序

Java 程序员 后端

架构 3 期模块二作业:下微信朋友圈的高性能复杂度

渐行渐远

架构实战营

Java面试被MySQL问哭了,面试官一个连环炮提问,我一个都讲不清

Java 程序员 后端

【架构训练营】毕业设计

zclau

【架构训练营】毕业总结

zclau

JMM - Java 内存模型,java读写锁源码分析

Java 程序员 后端

架构实战营 毕业总结

脉醉

JUnit5学习之三:Assertions类,java微服务架构训练营

Java 程序员 后端

JVM总体概述,java高级开发面试经验

Java 程序员 后端

Java面试经,nginx解决跨域原理

Java 程序员 后端

JVM内存溢出分析:堆内存溢出+虚拟机,BTAJ大厂最新面试题汇集

Java 程序员 后端

Kubernetes任务调用Job与CronJob及源码分析(1)

Java 程序员 后端

Java面试题超详细整理《Spring篇》,Tencent后台开发Java岗二面

Java 程序员 后端

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