大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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

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

关注

评论

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

靠这份1500道面试题的资料,助我拿下7家大厂offer !其中一家是美团

程序员小呆

Java 程序员 架构师 java面试

本以为能躺着进华为,结果陆续收到京东/滴滴/爱奇艺offer的我迷茫了

Java spring 算法 编程语言

终于进了字节!记录我作为一名程序媛磕磕碰碰的三个月找工作经历

Java 程序员 架构 面试 后端

无敌是多么的寂寞!这份在各大平台获百万推荐的Java核心手册称得上史上最强!

Java 架构 面试 程序人生 编程语言

GitHub爆火!阿里内部Java高并发系统设计全彩手册曝光,极致的理解!

Java 架构 面试 程序人生 编程语言

我一口气面试6家大厂,已拿下5家offer,分享经验和Java资料,其实大厂没有你想象中难!

程序员小呆

Java 程序员 面试 架构师 java面试

为 Elasticsearch/Kibana 配置账号和 https(qbit)

qbit

https 安全 TLS ssl

让GitHub低头!这份阿里内部的10W字Java面试手册到底有多强?

程序员小呆

Java 程序员 面试 架构师 java面试

我用这份10w字的Java面经,暑假在家闭关7749天成功拿下美团offer!

程序员小呆

Java 程序员 面试 架构师 java面试

2021年阿里巴巴最新Java面试学习资料汇总:从基础到高级、框架、数据库、多线程并发知识、分布式、以及企业的面试真题

Java 编程 程序员 架构 面试

Alibaba高级架构师撰写的SQL笔记,不止收获SQL优化更能抓住SQL的本质

Java 架构 面试 程序人生 编程语言

如何做好Code Review

百度开发者中心

最佳实践 方法论 工程能力

014云原生之云数据库

穿过生命散发芬芳

云原生 10月月更

OceanBase 存储层代码解读(一)引言

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版 OceanBase 数据库大赛

MySQL 数据库开发入门(一):安装与常用命令

程序员小呆

阿里技术官手码23W字Java面试,在Github上爆火,惨遭多家大厂威胁下架

程序员小呆

Java 程序员 面试 架构师 java面试

阿里最受追捧的,中高级技术核心,助我拿下菜鸟offer,附面经

程序员小呆

Java 程序员 面试 架构师 java面试

推荐 7 个 yyds 的开源项目

开源 编程 架构 计算机

流行技术限时开源!Alibaba新产“Java面试权威指南”助阵金九银十

Java 编程 程序员 架构 面试

AtomSolutions与Bholdus缔结业务合作伙伴关系

Geek_c610c0

字节跳动等10+公司面经+面试题+答案分享! 35K不是梦

程序员小呆

Java 程序员 面试 架构师 java面试

Java 异常机制

码界行者

Java Exception 异常机制

第 15 章 -《Linux 一学就会》- LVM管理和ssm存储管理器使用

学神来啦

Linux 运维 ssm lvm linux云计算

我从外包辞职了,10000小时后,拿了字节跳动的offer!

Java 程序员 架构 面试 后端

实体链接在OPPO小布助手和OGraph的实践应用

OPPO小布助手

人工智能 智能助手 nlu 语音助手 自然语言理解

什么样的云管平台才是企业需要的?他们的真正诉求是什么?

行云管家

云计算 云管平台 云资源 云成本

自定义 View:如何手动绘制一个头像控件

Changing Lin

10月月更

解读clickhouse存算分离在华为云实践

华为云开发者联盟

数据库 Clickhouse OBS 华为云 存算分离

二级等保测评通过需要多少分?去哪里找等保测评机构?

行云管家

网络安全 等级保护 等保测评 等保2.0

阿里大牛开源内部"JDK源码手册"一经现世,惊艳四方

Java 架构 面试 程序人生 编程语言

Stratifyd创始人汪晓宇:从战略层建立数据驱动型客户体验策略

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