写点什么

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

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

关注

评论

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

2021总结全网最新、最全、最实用Java岗面试真题!已收录GitHub

Java 程序员 后端

Redis 6.0 新特性篇:多线程网络模型全面解密

码哥字节

redis 多线程 IO多路复用 11月日更

【SpringCloud技术专题】「Resilience4j入门指南」轻量级熔断框架的入门指南

码界西柚

熔断器 11月日更 Resilience4j

2021字节总监最新发布:JVM +GC优质手册!面试专属

Java 程序员 后端

区块链之符号理论:抽象化和身份管理的必要条件

CECBC

2021最新分享“天猫”面经:10万字大厂面试总结

Java 程序员 后端

2021最新分享成功入职腾讯(后台开发岗)面经

Java 程序员 后端

Go语言,内存的分配原理

微客鸟窝

Go 语言 11月日更

2021最新出炉BAT架构实战文档:多线程与高并发+分布式+微服务

Java 程序员 后端

2021最新分享成功入职阿里巴巴(口碑部门)面经

Java 程序员 后端

解决:interface conversion: interface {} is float64, not int

liuzhen007

11月日更

2021年备战金三银四:死磕“源码”篇(Java程序员必看

Java 程序员 后端

进击的Java(二)

ES_her0

11月日更

2021,你还在写“赤裸裸”的API吗?

Java 程序员 后端

【MySQL技术专题】「索引技术系列」体验前所未有的技术探险,看穿索引的本质和技术体系(上篇)

码界西柚

MySQL 索引原理 11月日更

2021-07-25 Java基础

Java 程序员 后端

架构训练营第 3 期模块三作业

吴霏

「架构实战营」

为什么区块链和加密资产对于实现元宇宙很重要?

CECBC

System.Text.Json 中的字符编码

喵叔

11月日更

2021,你还在写“赤裸裸”的API吗?(1)

Java 程序员 后端

2021春招Java后端开发面试总结:25个技术专题(最全面试攻略)

Java 程序员 后端

分片技术:如何解决区块链的性能问题?

CECBC

2021金三银四,献给程序员从入门到放弃的 Java 架构师面试题

Java 程序员 后端

2021阿里大牛最新发布:Java高频面试题和核心技术(已涨薪6K)

Java 程序员 后端

2021-06-05# Java基础(dayFourteen):锁的两种方式

Java 程序员 后端

数字原生,创新生长|企业如何打造数字创新的“飞天梦”?

阿里巴巴云原生

阿里云 产品 云原生 双十一

OpenVINO基于Tensorflow的模型训练及优化部署

IT蜗壳-Tango

11月日更

2021最新分享字节四面成功拿Offer!

Java 程序员 后端

2021社招阿里、腾讯、蚂蚁金服「4面」Java面试高频题分享

Java 程序员 后端

2021美团高级工程师亲自汇总九大面试专题(附1000字解析)

Java 程序员 后端

2021阿里巴巴钻石级级“Docker全线笔记”新鲜出炉

Java 程序员 后端

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