C#各个版本的功能变迁

前言:语言作为程序员的利器,应该深刻地理解并把玩它,那么就应该知道它的历史,他的诞生与演进过程,以及它的未来。要说C#,必须要提Java,C#实现.Net平台的语言。所谓.Net平台,是微软应对java竞争开发出来的一个产品。因此.Net平台是具有java类似的功能。因此必须了解java用途与功能。java的诞生伴随着小型嵌入式软件的出现,为嵌入式芯片计算能力弱,存储空间小。而C++程序过于复杂和庞大,缺少垃圾回收系统、可移植性、分布式和多线程等功能,另外由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,如何让编写的程序跨平台运行成了当时最大的难题。随着C#版本的迭代升级,C#4.0 具备了一些更为灵活的功能。

电子数《你必须知道的.Net》第二版(https://www.zhihu.com/pub/book/119957624

C#语言历史版本特性(C# 1.0到C# 8.0汇总)_风神修罗使的博客-CSDN博客_c# 各版本

一、C#的功能迭代

 C#1.0

(1)面向对象编程

(2)跨平台运行时支持

(3)不断发展的语言特性

C#2.0

(1)匿名方法

(2)可空类型

(3)部分类

(4)迭代器

(5)泛型

C#3.0

(1)匿名类型

(2)自动属性

(3)对象初始化器

(4)集合初始化器

(5)隐式类型变量和隐式类型数组

(6)扩展方法

(7)查询表达式

C#4.0

(1)动态编程

(2)并行计算

(3)后期绑定

(4)协变与逆变

C# 5.0

(1)异步方法

(2)调用方信息特性,调用时访问调用者的信息。

C# 6.0

(1)Compiler as a service

(2)支持仅导入类中的静态成员

(3)异常过滤器

(4)支持在catc/finally语句块使用await语句

(5)自动属性初始化

(6)设置制度属性的默认值

(7)支持以表达式为主题的成员方法与只读属性

(8)Null条件操作符

(9)字符串插值,产生特定格式字符串的新方法

(10)nameof操作符,返回方法、属性、变量的名称

(11)Dictionary initlizer: 字典初始化。

C# 7.0

(1)Out variables:out变量直接声明,例如可以out in parameter

(2)Pattern matching:模式匹配,根据对象类型或者其它属性实现方法派发

(3)Tuples:元组

(4)Deconstruction:元组解析

(5)Discards:没有命名的变量,只是占位,后面代码不需要使用其值

(6)Local Functions:局部函数

(7)Binary Literals:二进制字面量

(8)Digit Separators:数字分隔符

(9)Ref returns and locals:引用返回值和局部变量

(10)Generalized async return types:async中使用泛型返回类型

(11)More expression-bodied members:允许构造器、解析器、属性可以使用表达式作为body

(12)Throw expressions:Throw可以在表达式中使用

(13)Async main:在main方法用async方式

(14)Default expressions:引入新的字面值default

(15)Reference assemblies:

(16)Inferred tuple element names:

(17)Pattern-matching with generics:

C# 8.0 特征 (Visual Studio 2017 version 15.7)

  • Default Interface Methods 缺省接口实现
  • Nullable reference type NullableReferenceTypes 非空和可控的数据类型
  • Recursive patterns 递归模式
  • Async streams 异步数据流
  • Caller expression attribute 调用方法表达式属性
  • Target-typed new
  • Generic attributes 通用属性
  • Ranges
  • Default in deconstruction
  • Relax ordering of ref and partial modifiers
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值