写点什么

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

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

关注

评论

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

【算法实践】一天路走到黑--手把手带你实现坚持不懈的线性查找

迷彩

Python 数据结构 算法实践 8月月更 线性查找

阿里云高性能计算负责人何万青:阿里云大计算加速HPC与AI融合

阿里云弹性计算

AI HPC 高性能计算 无影云电脑 计算巢

私有化部署的企业IM:实现工作消息、文件的全面可控

BeeWorks

参加前端培训后再就业难吗?

小谷哥

自然语言处理--神经网络的复习

IT蜗壳-Tango

自然语言处理 nlp 9月月更

如何在保护用户隐私的同时实现精准广告投放?

HarmonyOS SDK

广告sdk

大数据培训是否可以延迟工作周期

小谷哥

新思科技解析Repo Jacking依赖仓库劫持如何影响供应链安全

InfoQ_434670063458

漏洞 新思科技 软件供应链 Repo Jacking

微服务网关Gateway实践总结

Java 架构

从Core Dump中提取CUDA的报错信息

OneFlow

深度学习 报错 cuda

web前端培训程序员学习什么呢

小谷哥

客随主便-Mysql主从同步是怎样的过程?

知识浅谈

redis主从 9月月更

MobTech SMSSDK iOS端快速集成指南

MobTech袤博科技

ios sdk

2022年中国证券行业智能投顾专题分析

易观分析

金融 证券

定时任务报警通知解决方案详解

阿里巴巴云原生

阿里云 微服务 云原生 定时任务

[教你做小游戏] 展示斗地主扑克牌,支持按出牌规则排序!支持按大小排序!

HullQin

CSS JavaScript html 前端 9月月更

移动办公平台如何在企业中发挥数字化优势?

BeeWorks

IDEA配置tomcat

楠羽

#开源

架构师的十八般武艺:合规架构

agnostic

企业架构 合规

web前端培训入门难吗?

小谷哥

java培训程序员靠技术来延长自己的职业周期

小谷哥

程序员“反内卷”大法——和无效加班说再见!

博文视点Broadview

云原生游戏第 2 讲:OpenKruiseGame 设计理念详解

阿里巴巴云原生

阿里云 容器 云原生 游戏 OpenKruiseGame

go语言逆向技术之---常量字符串解密

sofiya

iofod导入任意前端资产,以 Element UI 为例

iofod jude

小程序 前端 低代码 网页

艺术收藏NFT系统开发:NFT功能搭建

开源直播系统源码

数字藏品 数字藏品系统软件开发 数字藏品开发

基于Vue3常用代码块

青柚1943

typescript Vue3 Element Plus Pinia sortablejs

【案例回顾】春节一次较波折的MySQL调优

京东科技开发者

MySQL 数据库 索引 RDS 调优

超大模型工程化实践打磨,百度智能云发布云原生 AI 2.0 方案

百度Geek说

云原生 人工智能’ 企业号九月金秋榜

金融科技创新者的困境

木风

金融科技 数字化转型 科技创新

Java进阶(一)内存解析

No Silver Bullet

Java 9月月更 内存解析

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